numpy T、transpose()函数、swapaxes()函数
目錄
1? 矩陣轉置T,既線性代數中矩陣轉置
2 ?transpose()函數
3??swapaxes()函數
?
1? 矩陣轉置T,既線性代數中矩陣轉置
示例程序如下:
import numpy as npa = np.arange(0,24,2).reshape(3, 4)print('*****a****') print('a: \n', a) print('a.shape: ', a.shape)print('\n*****a.T****') print('a.T:\n', a.T) print('a.T: ', a.T.shape)?
運行結果
*****a****
a:?
?[[ 0 ?2 ?4 ?6]
?[ 8 10 12 14]
?[16 18 20 22]]
a.shape: ?(3, 4)
*****a.T****
a.T:
?[[ 0 ?8 16]
?[ 2 10 18]
?[ 4 12 20]
?[ 6 14 22]]
a.T: ?(4, 3)
?
?
2 ?transpose()函數
以維度為(2,3,4)的數組a為例進行說明:
? ? ? a有3個,第0維大小為2,第1維大小為3,第2維大小為4
? ? ? a.transpose(2,1,0)既將數組a第0維大小2與第2維大小4進行替換,返回第0維大小為4,第1維大小為3,第2維大小為2
示例程序如下:
import numpy as npa = np.arange(24).reshape(2, 3, 4)print('*****a****') print('a: \n', a) print('a.shape: ', a.shape)print('\n*****a.transpose(2,1,0)****') print('a.transpose(2,1,0):\n', a.transpose(2,1,0)) print('a.transpose(2,1,0).shape: ', a.transpose(2,1,0).shape)?
運行結果:
*****a**** a:?[[[ 0 ?1 ?2 ?3][ 4 ?5 ?6 ?7][ 8 ?9 10 11]][[12 13 14 15][16 17 18 19][20 21 22 23]]] a.shape: ?(2, 3, 4)*****a.transpose(2,1,0)**** a.transpose(2,1,0):[[[ 0 12][ 4 16][ 8 20]][[ 1 13][ 5 17][ 9 21]][[ 2 14][ 6 18][10 22]][[ 3 15][ 7 19][11 23]]] a.transpose(2,1,0).shape: ?(4, 3, 2)3??swapaxes()函數
swapaxes()函數接受的參數是一對軸編號,
? ? 以維度為(2,3,4)的數組a為例進行說明:
? ? ? ? ?a有3個,第0維大小為2,第1維大小為3,第2維大小為4
? ? ? ? ?a. swapaxes (2,0)既將數組a第0維大小2與第2維大小4進行替換,返回第0維大小為4,第2維大小為2;第1維大小不變。
import numpy as npa = np.arange(24).reshape(2, 3, 4)print('*****a****') print('a: \n', a) print('a.shape: ', a.shape)print('\n*****a.swapaxes (2,1,0)****') print('a.swapaxes(2,0):\n', a.swapaxes(2,0)) print('a.swapaxes(2,0).shape: ', a.swapaxes(2,0).shape)?
運行結果:
*****a****
a:?
?[[[ 0 ?1 ?2 ?3]
? [ 4 ?5 ?6 ?7]
? [ 8 ?9 10 11]]
?[[12 13 14 15]
? [16 17 18 19]
? [20 21 22 23]]]
a.shape: ?(2, 3, 4)
*****a.swapaxes (2,1,0)****
a.swapaxes(2,0):
?[[[ 0 12]
? [ 4 16]
? [ 8 20]]
?[[ 1 13]
? [ 5 17]
? [ 9 21]]
?[[ 2 14]
? [ 6 18]
? [10 22]]
?[[ 3 15]
? [ 7 19]
? [11 23]]]
a.swapaxes(2,0).shape: ?(4, 3, 2)
總結
以上是生活随笔為你收集整理的numpy T、transpose()函数、swapaxes()函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt配置VS2017
- 下一篇: PyOpenCV 坐标系统