1.T
T 适用于一、二维数组的转置
transpose 适用于高维数组,需要用到一个由轴编号组成的元组,才能进行转置
In [1]: import numpy as npIn [2]: arr = np.arange(20).reshape(4,5)#生成一个4行5列的数组In [3]: arr
Out[3]:
array([[ 0, 1, 2, 3, 4],[ 5, 6, 7, 8, 9],[10, 11, 12, 13, 14],[15, 16, 17, 18, 19]])In [4]: arr.T #求转置
Out[4]:
array([[ 0, 5, 10, 15],[ 1, 6, 11, 16],[ 2, 7, 12, 17],[ 3, 8, 13, 18],[ 4, 9, 14, 19]])
2.transpose
原三维数组 arr 三个维度 (2,3,4) 对应的是 (0,1,2) 三个索引
transpose 函数可以理解为改变数组数值的映射关系,
arr1 = arr.transpose((1,0,2)) 的操作:相当于把原三维数组 arr 的第一个维度和第二个维度调换【新数组6这个数所在的索引是(1,0,2)】
arr2 = arr.transpose((0,2,1)) 的操作:相当于把原三维数组 arr 的第二个维度和第三个维度调换【新数组6这个数所在的索引是(0,2,1)】
原3维数组arr:
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
3个维度分别为: (2, 3, 4):两行三列的矩阵四个叠在一起
新数组 arr1 (3,2,4)
新数组arr2 (2,4,3)
转置(transpose)的理解_G果的博客-CSDN博客
numpy之转置(transpose)和轴对换 - 我的前进日志 - 博客园