Nói rằng tôi có một mảng a
:
a = np.array([[1,2,3], [4,5,6]])
array([[1, 2, 3],
[4, 5, 6]])
Tôi muốn chuyển đổi nó thành một mảng 1D (tức là một vectơ cột):
b = np.reshape(a, (1,np.product(a.shape)))
nhưng điều này trở lại
array([[1, 2, 3, 4, 5, 6]])
không giống như:
array([1, 2, 3, 4, 5, 6])
Tôi có thể lấy phần tử đầu tiên của mảng này để tự chuyển đổi nó thành mảng 1D:
b = np.reshape(a, (1,np.product(a.shape)))[0]
nhưng điều này đòi hỏi tôi phải biết mảng ban đầu có bao nhiêu kích thước (và nối [0] khi làm việc với các kích thước cao hơn)
Có một cách độc lập kích thước để có được một vectơ cột / hàng từ một ndarray tùy ý không?
ravel()
trả về một khung nhìn, nhưng điều đó không phải lúc nào cũng đúng. Có những trường hợpravel()
trả về một bản sao. </ Pedantic>