tf/np.transpose()

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-16 21:46   178   0

第一步:搞清原矩阵的shape,比如下面(2,2,4)
第二步:原矩阵顺序为(0,1,2),判定是几步转置。比如,(1,0,2),一步转置。如果是(1,2,0),就是两步转置,分成两个一步就可以了。
第三步:把转置后的位置画好。如上,还是,shape还是(2,2,4),但是,一、二维已经换了。你就把现在的相应数据的坐标,一、二维位置互换一下,互换之后找到转置前的矩阵对应坐标,就是那个数了。

>>> arr
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7]],

       [[ 8,  9, 10, 11],
        [12, 13, 14, 15]]])
>>> arr.transpose((1,0,2))
array([[[ 0,  1,  2,  3],
        [ 8,  9, 10, 11]],

       [[ 4,  5,  6,  7],
        [12, 13, 14, 15]]])
>>> arr.transpose((0,2,1))
array([[[ 0,  4],
        [ 1,  5],
        [ 2,  6],
        [ 3,  7]],

       [[ 8, 12],
        [ 9, 13],
        [10, 14],
        [11, 15]]])
>>>  arr.transpose((1,2,0))

  File "<pyshell#23>", line 2
    arr.transpose((1,2,0))
    ^
IndentationError: unexpected indent
>>> arr.transpose((1,2,0))
array([[[ 0,  8],
        [ 1,  9],
        [ 2, 10],
        [ 3, 11]],

       [[ 4, 12],
        [ 5, 13],
        [ 6, 14],
        [ 7, 15]]])
>>>

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP