-2
我想在Python中使用兩個公式爲Paper。如何將公式轉換爲Python?
我把它翻譯成這樣的代碼:
P = A #(size 24x24)
Q = B #(size 24x24)
sum_of_all = 0
for row in range(0,P.shape[0]):
for column in range (0,P.shape[1]):
zwischen =(w.iloc[row] * np.power((abs(P[row, column])-abs(Q[row,column])),2))[0]
sum_of_all = sum_of_all +zwischen
res = np.sqrt(sum_of_all)
其他公式:
我把它翻譯成這樣的代碼:
P = A
Q = B
sum_of_all = 0
for row in range(0,P.shape[0]):
for column in range (0,P.shape[1]):
zwischen = P[row, column]*Q[row,column]
sum_of_all = sum_of_all +zwischen
sum_of_all = (w.iloc[row])[0]*abs(sum_of_all)
res = np.sqrt(2-(2*sum_of_all))
我做對了嗎?
我怎樣才能以pythonic的方式改變(尤其是F1),因爲那些公式經常被使用(30000次),並且通過它們循環變得非常慢。
你有沒有在熊貓數據框中的體重? –
爲什麼不呢?如果它是一個數據框或一個numpy數組,它會有所作爲嗎? –
如果擔心性能問題,可以使用最小的數據結構來完成這項工作。雖然當你去一個numpy數組時,你不太可能會得到太多額外的東西。此外,它與解釋和維護代碼的容易程度有關。否則,在你的第一個「函數」中,你應該使用適當的numpy元素方式的abs函數而不是絕對的來預先計算矩陣A和B的絕對值(或者你用別名P和Q來表示它們)你不顯示你的進口)。然後減法也可以用numpy代替for循環來完成。 –