python中numpy库的transpose函数用法

np.transpose(a,axis=None)
输入:1.阵列array a
2.转置的轴
输出:返回 转置后的 阵列array

把矩阵的第一个方括号“[]”为 0轴 ,第二个方括号为 1轴 ,第三个方括号为 2轴
这种思维方式有利于本函数分析,参见

例如:
当a为三维矩阵时,比如shape 为(3,4,5)
a1=np.transpose(a,(0,1,2)),原来的0轴为新的0轴,原来的1轴为新的1轴,原来的2轴为新的2轴,因此不变
a2=np.transpose(a,(1,2,0)),原来的1轴为新的0轴,原来的2轴为新的1轴,原来的0轴为新的2轴,因此不变
axis 中为新的轴,不能简单理解为轴之间的替换:如果理解成 原来的0轴变为1轴,原来的1轴变为2轴,原来的2轴变为0轴,这样理解时错误的

import numpy as np
a=np.arange(3*4*5).reshape((3,4,5))#shape为(3,4,5)

a1=np.transpose(a,(0,1,2))#轴的顺序默认为(0,1,2),所以a_trans和a时一样的
a2=np.transpose(a,(1,2,0))#原来的1为新的0轴,1->0,
                          #原来的2为新的1轴,2->1,
                          #原来的0为新的2轴,0->2

猜你喜欢

转载自blog.csdn.net/eefresher/article/details/89424381