np.transpose() 维度抽象理解

传入参数:

 a:输入数组
axis: int类型的列表。默认情况下,(0,1,2)到 (2,1,0)

对于一维向量而言,numpy.transpose()是不起作用的,返回它本身。

对于二维数组而言,

二位数据的两个坐标就是(0,1), transpose(1,0)就是将 0坐标和 1坐标 的值对调

对于三维数组而言,

三维数组的坐标就是 (0,1,2) ,默认 transpose(2,1,0),将0维数据和 2维数据对调

不建立三维空间理解,虽然比较直观,但是对数据处理并不方便

  坐标维度:(0,1,2)

  数据维度:(2,3,4)

a,b转换,transpose(2,1,0),将0维坐标和 2维坐标对应的数据对调,b的数据维度是(4,3,2)

第2维坐标对应的数据是 [ 0  1  2  3]、[ 4  5  6  7]、[ 8  9 10 11]、[12 13 14 15]、[16 17 18 19]、[20 21 22 23]

第0维坐标对应的数据是[0  12]、[1  13]、[2  14]、[3  15]、[4  16、[5  17]、[6  18]......

那么第2维坐标的数据 变成了第0维坐标对应的数据,第0维坐标的数据变到了第2维

对应到三维图上就是, [ 0  1  2  3]数据和 [0  12]所在位置对换,[0 4 8]这一维不变

对比 a,b,发现,对应的行信息仍然保留,0,4,8、 1,5,9....

a,c转换,transpose(1,0,2),c数据维度是(3,2,4),第0坐标和第1坐标数据变换,第2维数据不变

第1维坐标对应的数据[0 4 8]、[1 5 9] 、[2 6 10]

对应到三维图上就是,[0 4 8]数据和 [0  12]所在位置对换,[ 0  1  2  3]这一维不变

a = np.arange(24).reshape(2, 3, 4)
b = a.transpose()
c = a.transpose(1,0,2)

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值