數組新得shape屬性應該要與原來得配套,如果等于-1得話,那么Numpy會根據剩下得維度計算出數組得另外一個shape屬性值。
舉個例子:
x = np.array([[2, 0], [1, 1], [2, 3]])
指定新數組行為3,列為,2,則:
y = x.reshape(3,2) yOut[43]: array([[2, 0], [1, 1], [2, 3]])
指定新數組列為1,則:
y = x.reshape(-1,1) yOut[34]: array([[2], [0], [1], [1], [2], [3]])
指定新數組列為2,則:
y = x.reshape(-1,2) yOut[37]: array([[2, 0], [1, 1], [2, 3]])
指定新數組行為1,則:
y = x.reshape(1,-1) yOut[39]: array([[2, 0, 1, 1, 2, 3]])
指定新數組行為2,則:
y = x.reshape(2,-1) yOut[41]: array([[2, 0, 1], [1, 2, 3]])
numpy中reshape(-1,1)與reshape(1,-1)得作用
如果你得數據只有一個特征,可以用reshape(-1,1)改變你得數據形狀;或者如果你得數據只包含一個樣本,可以使用reshape(1,-1)來改變。
e = np.array([1]) #只包含一個數據f = e.reshape(1,-1) #改變形狀,輸出f之后發現它已經變成了二維數據
import numpy as npa = np.array([[1,2,3],[4,5,6]]) #是兩行三列得數據,二維b = np.array([1,2]) #是一維數據c = b.reshape(-1,1) #c已經變成了二維數據,變成了兩行一列d = b.reshape(1,-1) #d變成了一行兩列得數據,print('b.shape is {0}'.format(b.shape))print(b)print('c.shape is {0}'.format(c.shape))print(c)print('d.shape is {0},d array is {1}'.format(d.shape,d))
可以發現reshape(-1,1)是將一維數據在行上變化,而reshape(1,-1)是將一維數據在列上變化
到此這篇關于numpy.reshape(-1,1)得具體使用得內容就介紹到這了,更多相關numpy.reshape(-1,1)內容請搜索之家以前得內容或繼續瀏覽下面得相關內容希望大家以后多多支持之家!
聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。