De ND a matrizes 1D
Digamos que eu tenha uma matriza
:
a = np.array([[1,2,3], [4,5,6]])
array([[1, 2, 3],
[4, 5, 6]])
Eu gostaria de convertê-lo para um array 1D (ou seja, um vetor 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 requer que eu saiba quantas dimensões a matriz original possui (e concatenei [0] ao trabalhar com dimensões mais altas)
Existe uma maneira independente das dimensões de obter um vetor de coluna / linha a partir de um ndarray arbitrário?