Скажем, у меня есть массив 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] при работе с более высокими измерениями)
Есть ли независимый от размеров способ получения вектора столбца / строки из произвольного массива?
ravel()
возвращает представление, но это не всегда так. Есть случаи, когдаravel()
возвращается копия. </