python--numpy转置

import numpy as np;
a=np.arange(16).reshape(2,2,4)
b={0:2,1:0,2:1}
c=a.transpose(2,0,1)
if a[0][1][2]==c[b[0]][b[1]][b[2]]:
    print("right")

用数学表达就是 : 我们可以把转置看成一种映射,比如我的c和a对应的映射就是字典b;

那么假如某个索引在a中为(x,y,z);那么转置后对应的元素在c中这样得到x对应第0个元素,从字典b中可以看到0映射为2,所以在新的c中的索引第2位为x,同理判断其他的,可以对照下面的图来看;

如果我们把x,y,z分别对应最大的索引值,就很容易理解shape的变化了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值