1.transpose() 这个函数如果括号内不带参数,就相当于转置,和.T效果一样,而今天主要来讲解其带参数。
eg: numpy的数组: arr=np.arange(16).reshape((2,2,4)) arr= array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11], [12, 13, 14, 15]]])
那么有:
>>>arr.transpose(2,1,0)
array([[[ 0, 8],
[ 4, 12]],
[[ 1, 9],
[ 5, 13]],
[[ 2, 10],
[ 6, 14]],
[[ 3, 11],
[ 7, 15]]])
因为arr这个数组有三个维度,三个维度的编号对应为(0,1,2),但是使用了transpose(2,1,0)之后,第一个维度就是原本的第三维度,第二维度不变,第三维度是原本的第一维度。
举个栗子:
原坐标 转换后
>>> 1 [0,0,1] [1,0,0]
>>> 2 [0,0,2] [2,0,0]
swapaxes接受一对轴编号(维度编号),比如:
arr.swapaxes(2,1) #就是将第三个维度和第二个维度交换
array([[[ 0, 4],
[ 1, 5],
[ 2, 6],
[ 3, 7]],
[[ 8, 12],
[ 9, 13],
[10, 14],
[11, 15]]]