首頁  >  文章  >  後端開發  >  如何將 4D NumPy 陣列重塑為 2D 陣列?

如何將 4D NumPy 陣列重塑為 2D 陣列?

Patricia Arquette
Patricia Arquette原創
2024-11-01 20:12:02599瀏覽

How to Reshape a 4D NumPy Array into a 2D Array?

在NumPy 中將4D 數組重塑為2D 數組背後的直覺和想法

了解如何在NumPy 中重塑數組在處理多維資料時至關重要。雖然 reshape 函數提供了修改陣列形狀的便利方法,但掌握它在高維度數組上的操作方式可能具有挑戰性。

一般轉換方法

在不同維度層級(nd) 之間轉換陣列涉及兩個關鍵步驟:

  1. 排列軸: 使用transpose、moveaxis 和rollaxis 等函數重新排列軸的順序,以確保輸入陣列的平表示與所需輸出的表示相符。
  2. 重塑: 更改陣列的形狀以建立其他軸或將現有軸合併到最終所需的形狀。

具體範例

讓我們考慮問題中提供的4D 陣列:

array([[[[ 0,  0],
         [ 0,  0]],

        [[ 5, 10],
         [15, 20]]],


       [[[ 6, 12],
         [18, 24]],

        [[ 7, 14],
         [21, 28]]]])

將其重塑為(4, 4),我們可以應用以下步驟:

  1. 排列軸:我們需要交換軸(2,0,3,1)來對齊展平的表示。
  2. 重塑:最後,我們可以將排列數組重塑為所需的 (4,4) 形狀。
array.transpose((2, 0, 3, 1)).reshape(4,4)

結果:

array([[ 0,  5,  0, 10],
       [ 6,  7, 12, 14],
       [ 0, 15,  0, 20],
       [18, 21, 24, 28]])

回溯法

可以使用回溯法來解決此類轉換:

  1. 可以使用回溯法來解決此類轉換:
  2. 決定輸出數組的最終形狀。
  3. 如果需要符合輸出的 nd,先分割輸入陣列。
  4. 透過研究輸出數組的步幅並與輸入進行比較來確定排列順序。
如果需要合併剩餘的軸,應用任何最終的重塑。

其他範例

請參閱提供的其他範例列表,以取得有關重塑 nd 的進一步指導NumPy 中的陣列。理解這些轉換對於有效操作多維資料至關重要。

以上是如何將 4D NumPy 陣列重塑為 2D 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:銜尾蛇 #01下一篇:銜尾蛇 #01