numpy的转置有3种情况:
1、特殊的 .T 转置,可以直接对数组进行行列对调转置
2、transpose转置,是通过一个由轴编号组成的元组对轴进行转置(这个真的很难理解,查了好多资料现在终于算是有点开窍了,按照自己理解的分析一下)
这是一个3*2*2的3维数组,可以理解为3行2列2个平面,接下来看每个平面的构成:
对于reshape(3,2,2),可以理解为(3,2,2)这个元组的索引(0,1,2) 0对应3,1对应2,2对应2,所以data.transpose((0,,1,2))与原数组相比没有变化
data.transpose((1,0,2)) 之所以呈现下面的结果,是因为原本的索引(0,1,2)经过transpose转置变为(1,0,2),则相当于data变为2*3*2的数组,而data中的元素的索引也做了相应的变化,如下图(根据变化后的索引自己动手画了画来验证了下)
transpose其他元组形式的转置都是同理。
3、swapaxes转置,接受一对轴编号,进行两轴对换