numpy.reshape(-1,1)的具體使用
數組新的shape屬性應該要與原來的配套,如果等於-1的話,那麼Numpy會根據剩下的維度計算出數組的另外一個shape屬性值。
舉個例子:
x = np.array([[2, 0], [1, 1], [2, 3]])
指定新數組行為3,列為,2,則:
y = x.reshape(3,2) y Out[43]: array([[2, 0], [1, 1], [2, 3]])
指定新數組列為1,則:
y = x.reshape(-1,1) y Out[34]: array([[2], [0], [1], [1], [2], [3]])
指定新數組列為2,則:
y = x.reshape(-1,2) y Out[37]: array([[2, 0], [1, 1], [2, 3]])
指定新數組行為1,則:
y = x.reshape(1,-1) y Out[39]: array([[2, 0, 1, 1, 2, 3]])
指定新數組行為2,則:
y = x.reshape(2,-1) y Out[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 np a = 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)內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Numpy中的shape、reshape函數的區別
- python數據分析Numpy庫的常用操作
- Numpy中的shape函數的用法詳解
- Python Numpy中ndarray的常見操作
- Python NumPy教程之數組的創建詳解