0
Scorelife_disct={'scorelife41': ['c', 'hindi', 'sql', 'scala', 'love'],
'scorelife42': ['c', 'sql', 'english', 'Cat', 'html', 'cPlus', 'love'],
'scorelife43': ['c', 'Cat', 'friend', 'love']}
User_life_disct ={'scorelifeLife1': ['c', 'hindi', 'python', 'scala', 'graphics'],
'scorelifeLife10': ['c', 'hindi', 'perl'],
'scorelifeLife11': ['hindi', 'perl', 'spark']}
import collections
d = collections.defaultdict(dict)
from __future__ import division
for userid in Scorelife_disct:
#print userid
for life_disct in User_life_disct:
u1= Scorelife_disct[userid]
u2= User_life_disct[life_disct]
k1=len(set(u1)&set(u2))/len(set(u1)|set(u2))
#print life_disct
#print k1
d[userid][life_disct] = k1
print d
dict(d)
{' scorelife41': {' scorelifeLife1': 0.42857142857142855,
' scorelifeLife10': 0.3333333333333333,
' scorelifeLife11': 0.14285714285714285 }}
私は辞書の各リストの間ジャカード類似性を持つ2つのPythonの辞書を使用していますが、私のプログラムは、データの膨大な量のためにあまりにも多くの時間を取っています。あまり時間をかけずに動作するように、時間の複雑さの問題をどのように減らすのですか(出力は正しいですが)。
これはどのようにパンダを使用していますか? – James