От ND до 1D массивов

Скажем, у меня есть массив:a

a = np.array([[1,2,3], [4,5,6]])

array([[1, 2, 3],
       [4, 5, 6]])

Я хотел бы преобразовать его в одномерный массив (то есть вектор-столбец):

b = np.reshape(a, (1,np.product(a.shape)))

но это возвращается

array([[1, 2, 3, 4, 5, 6]])

что не то же самое, что:

array([1, 2, 3, 4, 5, 6])

Я могу взять первый элемент этого массива, чтобы вручную преобразовать его в одномерный массив:

b = np.reshape(a, (1,np.product(a.shape)))[0]

но для этого нужно знать, сколько измерений имеет исходный массив (и объединить [0] 's при работе с большими размерами)

Есть ли независимый от размеров способ получения вектора столбца / строки из произвольного массива?

Ответы на вопрос(4)

Ваш ответ на вопрос