Was ist der Unterschied zwischen einem numpy Array (sagen wir X), das eine Form von (N, 1) und (N,) hat. Sind nicht beide Nx1-Matrizen? Der Grund, warum ich frage, ist, weil manchmal Berechnungen entweder das eine oder das andere zurückgeben.numpy Array, das ist (n, 1) und (n,)
8
A
Antwort
9
Dies ist ein 1D-Array:
>>> np.array([1, 2, 3]).shape
(3,)
Dieses Array ist ein 2D, aber es ist nur ein Element in der ersten Dimension:
>>> np.array([[1, 2, 3]]).shape
(1, 3)
Transponieren der Form gibt für Sie fragen:
>>> np.array([[1, 2, 3]]).T.shape
(3, 1)
Nun schauen Sie sich das Array an. Nur die erste Spalte dieses 2D-Arrays ist gefüllt.
>>> np.array([[1, 2, 3]]).T
array([[1],
[2],
[3]])
Vor dem Hintergrund dieser beiden Arrays:
>>> a = np.array([[1, 2, 3]])
>>> b = np.array([[1, 2, 3]]).T
>>> a
array([[1, 2, 3]])
>>> b
array([[1],
[2],
[3]])
Sie Vorteil des Rundfunks nehmen.
>>> a * b
array([[1, 2, 3],
[2, 4, 6],
[3, 6, 9]])
Die fehlenden Zahlen ausgefüllt sind Denken Sie für Zeilen und Spalten in der Tabelle oder eine Tabelle.
>>> a + b
array([[2, 3, 4],
[3, 4, 5],
[4, 5, 6]])
Dies zu tun mit höheren Dimensionen wird härter für Ihre Phantasie.
Können Sie mir ein paar Beispiele geben? – satoru