1
graphlab.SFrameのすべての行に対して一列の異なる列を横切って動作を繰り返します。パイソン:<code>dict</code>要素を有する列とSFrameあり
import graphlab
import numpy as np
a = graphlab.SFrame({'col1':[{'oshan':3,'modi':4},{'ravi':1,'kishan':5}],
'col2':[{'oshan':1,'rawat':2},{'hari':3,'kishan':4}]})
IはSFrameの行ごとにこれら2つの列の間cosine
距離を計算します。以下はfor loop
を使用した操作です。
dis = np.zeros(len(a),dtype = float)
for i in range(len(a)):
dis[i] = graphlab.distances.cosine(a['col1'][i],a['col2'][i])
a['distance12'] = dis
これは非常に効率が悪く、行数が多い場合には数時間かかることがあります。誰かがより良いアプローチを提案してくれますか?