Di 'che ho un array a
:
a = np.array([[1,2,3], [4,5,6]])
array([[1, 2, 3],
[4, 5, 6]])
Vorrei convertirlo in un array 1D (cioè un vettore di colonna):
b = np.reshape(a, (1,np.product(a.shape)))
ma questo ritorna
array([[1, 2, 3, 4, 5, 6]])
che non è lo stesso di:
array([1, 2, 3, 4, 5, 6])
Posso prendere il primo elemento di questo array per convertirlo manualmente in un array 1D:
b = np.reshape(a, (1,np.product(a.shape)))[0]
ma questo mi richiede di sapere quante dimensioni ha l'array originale (e concatenare [0] quando si lavora con dimensioni più alte)
Esiste un modo indipendente dalle dimensioni per ottenere un vettore colonna / riga da un ndarray arbitrario?
ravel()
restituisce una vista, ma ciò non è sempre vero. Ci sono casi in cuiravel()
restituisce una copia. </pedantic>