Digamos que eu tenho uma matriz a:
a = np.array([[1,2,3], [4,5,6]])
array([[1, 2, 3],
[4, 5, 6]])
Gostaria de convertê-lo em uma matriz 1D (ou seja, um vetor de coluna):
b = np.reshape(a, (1,np.product(a.shape)))
mas isso retorna
array([[1, 2, 3, 4, 5, 6]])
que não é o mesmo que:
array([1, 2, 3, 4, 5, 6])
Eu posso pegar o primeiro elemento dessa matriz para convertê-lo manualmente em uma matriz 1D:
b = np.reshape(a, (1,np.product(a.shape)))[0]
mas isso exige que eu saiba quantas dimensões a matriz original possui (e concatene [0] 's ao trabalhar com dimensões maiores)
Existe uma maneira independente de dimensões de obter um vetor de coluna / linha de um ndarray arbitrário?
ravel()retorna uma visualização, mas isso nem sempre é verdade. Há casos em queravel()retorna uma cópia. </pedantic>