Es gibt einen SFrame mit Spalten mit dict
Elemente.Python: Iterate eine Operation über verschiedene Spalten einer Zeile für alle Zeilen eines graphlab.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}]})
Ich möchte, für jede Zeile des SFrame cosine
Abstand zwischen diesen beiden Spalten berechnen. Unten ist die Operation mit 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
Dies ist sehr ineffizient und würde Stunden dauern, wenn die Anzahl der Zeilen groß war. Könnte jemand bitte einen besseren Ansatz vorschlagen?