Qual è la differenza tra una matrice numpy (diciamo X) che ha una forma di (N, 1) e (N,). Non sono entrambe le matrici Nx1? Il motivo per cui lo chiedo è perché a volte le computazioni restituiscono l'uno o l'altro.array numpy che è (n, 1) e (n,)
8
A
risposta
9
Questo è un array 1D:
>>> np.array([1, 2, 3]).shape
(3,)
Questo array è un 2D, ma c'è un solo elemento nella prima dimensione:
>>> np.array([[1, 2, 3]]).shape
(1, 3)
Trasposizione dà la forma si sta chiedendo:
>>> np.array([[1, 2, 3]]).T.shape
(3, 1)
Ora, guarda l'array. Viene riempita solo la prima colonna di questo array 2D.
>>> np.array([[1, 2, 3]]).T
array([[1],
[2],
[3]])
Attribuite queste due matrici:
>>> a = np.array([[1, 2, 3]])
>>> b = np.array([[1, 2, 3]]).T
>>> a
array([[1, 2, 3]])
>>> b
array([[1],
[2],
[3]])
È possibile usufruire di trasmissione:.
>>> a * b
array([[1, 2, 3],
[2, 4, 6],
[3, 6, 9]])
I numeri mancanti sono riempiti in Pensate per le righe e le colonne della tabella o foglio di calcolo.
>>> a + b
array([[2, 3, 4],
[3, 4, 5],
[4, 5, 6]])
Fare questo con le dimensioni superiori diventa più difficile per la vostra immaginazione.
Potete darmi qualche esempio? – satoru