Numpy下的三維數組轉置(二)

經過上一篇已經對三維數組的轉置有所瞭解,那麼沒看明白的,可以從下面三維立方體的角度思考一下。

原數組的索引順序是x軸,y軸,z軸,即0軸,1軸,2軸。

那麼當將(0,1,2)改爲(1,0,2)時,即索引順序變爲y軸,x軸,z軸。以此類推。例子如下。

1、numpy.transpose(arr, axes)用於對換數組的維度。參數axes是整數列表對應維度。

(1)axes=[1,0,2]表示:(x,y,z)2*3*4 ——> (y,x,z)3*2*4

(2)axes=[2,1,0]表示:(x,y,z)2*3*4 ——> (z,y,x)4*3*2

(a的轉置求法一)

(a的轉置求法二)

2、numpy.swapaxes(arr, axis1, axis2)用於交換數組的兩個軸。

(1)0軸和1軸交換(=np.swapaxes(a,1,0)):(x,y,z)2*3*4 ——> (y,x,z)3*2*4

(2)0軸和2軸交換(=np.swapaxes(a,2,0)):(x,y,z)2*3*4 ——> (z,y,x)4*3*2

(a的轉置求法三)

3、numpy.rollaxis(arr, axis, start)向後滾動特定的軸到一個特定位置(默認滾動至0軸)。

(1)1軸滾動到0軸 :(x,y,z) 2*3*4——> (y,x,z)3*2*4

(2)2軸滾動到0軸 :(x,y,z)2*3*4 ——> (z,x,y)4*2*3

(3)爲什麼0軸滾動到1軸、1軸滾動到2軸,等同於未滾動?爲什麼0軸滾動到2軸結果如此?此處懂了的小夥伴麻煩給我留言解釋一下,謝謝。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章