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的变化了。

NumPy数组转置解析
本文通过一个具体的Python代码示例,深入解析了NumPy数组的转置操作。利用字典映射解释了转置前后索引变化的原理,帮助读者理解形状变化背后的逻辑。
412

被折叠的 条评论
为什么被折叠?



