Скажіть, у мене є масив a
:
a = np.array([[1,2,3], [4,5,6]])
array([[1, 2, 3],
[4, 5, 6]])
Я хотів би перетворити його в 1D масив (тобто вектор стовпця):
b = np.reshape(a, (1,np.product(a.shape)))
але це повертається
array([[1, 2, 3, 4, 5, 6]])
що не те саме, що:
array([1, 2, 3, 4, 5, 6])
Я можу взяти перший елемент цього масиву, щоб вручну перетворити його в 1D масив:
b = np.reshape(a, (1,np.product(a.shape)))[0]
але це вимагає від мене знати, скільки розмірів має оригінальний масив (і об'єднувати [0] при роботі з більшими розмірами)
Чи існує незалежний від розмірів спосіб отримання вектора стовпця / рядків від довільної ndarray?
ravel()
повертається погляд, але це не завжди відповідає дійсності. Бувають випадки, колиravel()
повертає копію. </