numpy.transpose解析

transponse是numpy重塑数组的方法。

首先,数组有一个特殊的T属性:

arr = np.arange(15).reshape((3, 5))
arr
''
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
''
arr.T
''
array([[ 0,  5, 10],
       [ 1,  6, 11],
       [ 2,  7, 12],
       [ 3,  8, 13],
       [ 4,  9, 14]])

''

这个还是比较简单的,数组的简单轴对换。

对高维数组,可以用transponse进行更复杂的转置:

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.transponse((1, 0, 2))
''
array([[[ 0,  1,  2,  3],
        [ 8,  9, 10, 11]],

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

这个稍微复杂一点,想明白确实想了一段时间。这个重塑,分为两步:

  1. 结构的调整
      首先输入arr.shape,得到数组结构(2, 2, 4),transponse参数(1, 0, 2),也就是说该数组调整后,结构不变还是(2, 2, 4)
  2. 索引的改变
      比如说arr[0, 1, 0] = 4, 转置后, 1和0调换,所以,调整后4的索引为[1, 0, 0],其余的数字以此类推。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 26
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值