numpy transpose转置

In [59]: arr1 = np.arange(12).reshape(2,2,3)

In [60]: arr1
Out[60]:
array([[[ 0,  1,  2],
        [ 3,  4,  5]],

       [[ 6,  7,  8],
        [ 9, 10, 11]]])

In [61]: arr1.shape #看形状
Out[61]: (2, 2, 3) #说明这是一个2*2*3的数组(矩阵),返回的是一个元组,可以对元组进行索引,也就是0,1,2
In [62]: arr1.transpose((1,0,2))
Out[62]:
array([[[ 0,  1,  2],
        [ 6,  7,  8]],

       [[ 3,  4,  5],
        [ 9, 10, 11]]])

arr1.transpose((1,0,2))即把第1维的数据放到第0维,第0维的数据放到第1维,第二维不动。

第一个数0的坐标是(0,0,0),变换之后还是(0,0,0)

第二个数1的坐标是(0,0,1),变换之后还是(0,0,1)

所以(0,0,:)和(1,1,:)都不变化

3本来是(0,1,0),变换之后为(1,0,0)

所以最终结果,即把(0,1,:)和(1,0,:)交换位置

参考https://www.cnblogs.com/sunshinewang/p/6893503.html

猜你喜欢

转载自blog.csdn.net/dss875914213/article/details/82561487
今日推荐