1
我想在numpy矩陣的每個(i,j)條目上應用一個函數。但是我想使用值i和j。作爲一個例子,給出矢量A和B,以及一個抽象的函數f,我要做到以下幾點:Python Numpy矩陣應用元素行列條目功能
for i in range(I):
for j in range(J):
M[i,j] = f(A[i],B[j])
我可以做上述類似如下:
g = lambda (i,j): f(A[i],B[j])
apply(M, g)
只是想向量化for循環。謝謝!
首先,你可以嘗試在你的箱子,然後嘗試,如果您遇到任何問題進行調試。 –
如果你習慣了R,你可能會習慣使用'apply'函數族來對數據結構進行計算。我不知道R如何實現,但這種事情在NumPy中效率不高。 NumPy中的有效數組操作通常包括使用本機處理數組輸入的操作和函數。 – user2357112
您可以隱藏函數中的操作,但這不會加速它 - 屏障是隻能獲取和生成標量值的抽象函數「f」。代碼仍然需要爲'M'中的每個元素調用一次該函數。 – hpaulj