簡單介紹numpy.reshape(-1,1)的具體使用

大雄45發表於2022-08-10
導讀 本文主要介紹了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)的具體使用的文章就介紹到這了

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2909658/,如需轉載,請註明出處,否則將追究法律責任。

相關文章