Angenommen, ich habe die folgenden zwei Felder:Summe der quadratischen Differenz zwischen 2 Numpy Arrays
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],])
Für jede Zeile a_row in a, würde Ich mag die Summe der quadratischen Differenz zwischen a_row und jede Zeile in b erhalten . Das resultierende Array wäre ein 2 mal 4 Array. Das erwartete Ergebnis wäre die folgende:
array([[ 11., 5., 14., 10.],
[ 2., 2., 1., 3.]])
Ich habe bereits eine Lösung mit Schleife implementiert:
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
Was ich brauche, ist eine voll vektorisiert Lösung, das heißt keine Schleife erforderlich ist.
Scheint wie eine natürliche für Lambda-Ausdrücke und Verschlüsse. – duffymo