import numpy as np
a = np.array([1,3,4,5])
print(a.shape)
a = np.transpose(a)
print(a.shape)
print(a)a = np.ravel(a)
print(a.shape)
print(a)a = a.reshape((1,4))
print(a.shape)
輸出如下
(4,)
(4,)
[1 3 4 5]
(4,)
[1 3 4 5]
(1, 4)
我們會發現,對于一維的數組,numpy的數組形式永遠是以列向量的形式存儲的,不論是使用transpose轉置還是ravel嘗試flatten這個數組都沒辦法讓列向量轉為行向量,這在一般情況下不會產生問題。但在機器學習訓練與predict時,有時會要求最后一維的維度,例如為N,那么列向量顯然不滿足這個維度要求。為此,需要使用reshape方法,讓一維numpy列向量轉置。