當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python NumPy reshape方法用法及代碼示例


NumPy 的 reshape(~) 方法返回具有所需形狀的新 NumPy 數組。如果重構後的數組包含的值多於原始數組,則數字將重複。

參數

1. a | array-like

輸入數組。

2. shape | inttupleint

所需的形狀。如果傳遞-1,則推斷形狀。請查看下麵的示例以進行說明。

返回值

具有所需形狀的新 NumPy 數組。

例子

從 1D 轉換為 2D

考慮以下一維數組:

a = np.array([1,2,3,4,5,6])
a



array([1, 2, 3, 4, 5, 6])

要將其更改為 2 行 3 列的 2D 數組:

np.reshape(a, (2,3))



array([[1, 2, 3],
       [4, 5, 6]])

要將一維數組轉換為隻有一個元素的二維數組:

np.reshape(a, (1, a.size))



array([[1, 2, 3, 4, 5, 6]])

從 2D 轉換為 1D

假設我們有以下二維數組:

a = np.array([[1,2],[3,4]])
a



array([[1, 2],
       [3, 4]])

要獲得一維表示:

np.reshape(a, 4)



array([1, 2, 3, 4])

在這裏,我們可以簡單地使用 ravel(~) 方法來展平數組:

a = np.array([[1,2],[3,4]])
a.ravel()



array([1, 2, 3, 4])

推斷形狀

shape 中的值 -1 告訴 NumPy 推斷合適的形狀。例如:

np.reshape([1,2,3,4], [-1,1])



array([[1],
       [2],
       [3],
       [4]])

我們可以手動指定 [4,-1] 作為形狀,但結果行數可以從以下方式推斷:

  • 數組中值的數量

  • 列數(在本例中為1)。

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 NumPy | reshape method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。