假設我有以下2個數組:總和2個numpy的陣列
import numpy as np
a=np.asarray([[1,2,4],
[3,1,2]])
b=np.asarray([[2,1,1],
[3,2,3],
[4,1,2],
[2,2,1],])
對於在每一行a_row,我想獲得a_row,在b中的每一行之間的平方差的總和。結果數組將是2乘4陣列。預期的結果將是以下幾點:
array([[ 11., 5., 14., 10.],
[ 2., 2., 1., 3.]])
我的使用環路已經實現了一個解決方案:
c=np.zeros((2,4))
for e in range(a.shape[0]):
c[e,:] = np.sum(np.square(b-a[e,:]),axis=1)
print c
我需要的是一個全面的解決方案矢量,即不需要循環。
似乎是一個自然的lambda表達式和封鎖。 – duffymo