假設我有一個numpy
陣列A
具有形狀(5,24,1)
。
我想利用五個單獨的轉置沿axis = 0
,使得轉置後所得到的形狀是(5,1,24)
。
我怎樣才能做到這一點使用一些numpy
功能?移調3-d numpy的陣列
1
A
回答
3
三種方法可以建議 -
A.swapaxes(1,2)
A.transpose(0,2,1)
np.rollaxis(A,2,1)
對於swapaxes
和transpose
,請按照他們的文檔。
隨着np.rollaxis
,我們正在滾動的軸,以使第三軸到第二位置,從而推回第二軸線成第三軸的位置。鏈接的文檔中有更多信息。
使用的事實,最後軸是單 -
A[:,None,:,0]
2
你可以使用np.moveaxis
(一個選項從Divakars出色答卷丟失),您可以定義哪些軸應移動:
np.moveaxis(A, (0, 1, 2), (0, 2, 1))
這將軸0
移動到0
(無變化,也可以省略),1
至2
和2
至1
。因此,這基本上只是交換軸1和2.
>>> A = np.ones((5,24,1))
>>> res = np.moveaxis(A, (1, 2), (2, 1)) # this time without the zeros
>>> res.shape
(5, 1, 24)
相關問題
- 1. 轉移3D numpy陣列
- 2. 使用3D numpy的陣列
- 3. Numpy 3D陣列矩陣乘法函數
- 4. 快速計算隨機3D numpy陣列從2D numpy陣列
- 5. 追加Python的3D numpy的陣列
- 6. 3D numpy陣列的計算均值
- 7. 如何在3D numpy的陣列
- 8. 填寫一個3D numpy的陣列
- 9. Python Numpy - 附加三個陣列形成矩陣或3D陣列
- 10. 將2D numpy陣列重組爲3D
- 11. 將3D Numpy陣列放入ITK SNAP
- 12. 查找最後非零元素3D陣列 - numpy的陣列
- 13. 重塑3D numpy的陣列到2D陣列
- 14. 使用提取從3D numpy的陣列1D陣列2D布爾
- 15. 將2D numpy陣列有效地複製爲3D numpy陣列的通道?
- 16. 調整3D陣列大小
- 17. numpy的:陣列
- 18. 一個numpy的陣列
- 19. numpy和theano的3D矩陣乘法
- 20. Cython:緩慢的numpy陣列
- 21. 的Python:重塑3D圖像的numpy的陣列和標籤
- 22. 調整numpy陣列軸的pythonic方法
- 23. 保留一個切片的尺寸從numpy的3D陣列
- 24. 建立一個不斷增長的3D numpy的陣列
- 25. 最快的方式在3D陣列搜索在numpy的
- 26. 優雅的方式來索引3D陣列,並使用numpy的
- 27. Matrix 2D陣列的移調
- 28. 重複numpy的陣列
- 29. numpy的陣列上
- 30. 從numpy的陣列
Works正確。謝謝,你能解釋一下嗎! NTW我用'A.transpose(0,2,1)' –
@Divakar你忘了'moveaxis' :-P – MSeifert
@MSeifert不是真的moveaxis'的'粉絲,過多的字符;)但是,是的這是另一種選擇,並應完成這套解決方案。 – Divakar