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?

questionAnswers(4)

yourAnswerToTheQuestion