我有一個12X2陣列,我想重新組織爲3x4x2陣列。具體來說,我想改變將2D numpy陣列重組爲3D
a = np.array(([1,13],[2,14],[3,15],[4,16],[5,17],[6,18],[7,19],[8,20],[9,21],[10,22],[11,23],[12,24]))
[[ 1 13]
[ 2 14]
[ 3 15]
[ 4 16]
[ 5 17]
[ 6 18]
[ 7 19]
[ 8 20]
[ 9 21]
[10 22]
[11 23]
[12 24]]`
成看起來像這樣一個矩陣:
[[[ 1. 2. 3. 4.]
[ 5. 6. 7. 8.]
[ 9. 10. 11. 12.]]
[[ 13. 14. 15. 16.]
[ 17. 18. 19. 20.]
[ 21. 22. 23. 24.]]]
我在想一個三重嵌套的循環,但我編寫的方式是行不通的。而且我無法將自己的頭圍繞在numpy索引上,以便弄清楚如何做到這一點。
這當然是示例代碼。我想改變這一點,以便在緯度 - 經度網格上繪製3個全球降水的3個EOF圖。 EOF正從8192x8192陣列拉出並放入64x128x3陣列。 (我只使用大矩陣的前3列,每列都是EOF,每個列都是沿着第一個緯度的經度列出的值,然後再按第二個緯度再按經度列出,等等直到第128個緯度在列的底部。當然,當我第一緯度是-87.something時,我的數組將相對於底圖顛倒,但是我打算使用np.flipud修復它,一旦它的完成
這只是給我回完全相同的矩陣。我的矩陣現在是(2,0,1),我想將其更改爲(3,4,2) – ChristineB
@ChristineB問題中列出的預期輸出看起來像是形狀'(2,3,4)'(2沿着軸= 0,3沿着軸= 1是行,沿着軸= 2是列4)。你確定你想要一個'(3,4,2)'的形狀嗎? 'a.reshape(3,4,2)'會爲你工作嗎? – Divakar
沒關係我的評論。我在下一行輸入了你的建議並打印了(a),但我忘記用它的重塑+轉置替換變量a。謝謝! – ChristineB