1. 程式人生 > >python 矩陣轉置transpose

python 矩陣轉置transpose

arr = np.arange(16).reshape((2, 2, 4))
arr的array是這樣的

array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])
我們對arr進行transpose轉置,arr2 = arr.transpose((1,0,2)),結果是這樣:
array([[[ 0, 1, 2, 3],
[ 8, 9, 10, 11]],

[[ 4, 5, 6, 7],
[12, 13, 14, 15]]])
這是怎麼來的呢。
arr.transpose((1,0,2))的1,0,2三個數分別代表shape()的三個數的順序,初始的shape是(2,2,4),也就是2維的2 x 4矩陣,索引分別是shape的[0],[1],[2],arr.transpose((1,0,2))之後,我們的索引就變成了shape[1][0][2],對應shape值是shape(2,2,4),所以矩陣形狀不變。