numpy.transpose对三维数组的转置方法
Python  /  管理员 发布于 5年前   528
如下所示:
import numpy as np
三维数组
arr1 = np.arange(16).reshape((2, 2, 4)) #[[[ 0 1 2 3] # [ 4 5 6 7]] # [[ 8 9 10 11] # [12 13 14 15]]] arr2=arr1.transpose((1,0,2)) #[[[ 0 1 2 3] # [ 8 9 10 11]] # # [[ 4 5 6 7] # [12 13 14 15]]]
正序为(0,1,2),数组为
#[[[ 0 1 2 3] # [ 4 5 6 7]] # [[ 8 9 10 11] # [12 13 14 15]]]
为什么进过tanspose(1,0,2),数组变为
#[[[ 0 1 2 3] # [ 8 9 10 11]] # # [[ 4 5 6 7] # [12 13 14 15]]]
仔细观察之后,可以看到转置后的数组和转置前的数组的区别就是第一页的第二行和第二页的第一行对换了,可是为什么?
当我用arr1[0,1,0],索引值为4
当我用arr2[1,0,0],索引值为4
对比索引参数表的变化和正序和转置序的不同似乎存在某种联系
对于arr1数组,索引参数表[0,0,x]可以表示第一页的第一行,当前两个参数对换之后,同一个元素的索引参数表并没有变化
故arr2的第一页第一行和arr1的第一页第一行相同
对于arr1数组,索引参数表[0,1,x]可以表示第一页第二行,当前两个参数对换之后,同一个元素的索引值比如[0,1,0]变为[1,0,0],
这就是解释了索引值4的索引参数表的不同
大概就是这个思路所以transpose(1,0,2),数组的第一页第二行和第二页第一行对换
后面的四种转置方式也大致是这个思路,仔细观察一下,理解起来应该不难
arr3=arr1.transpose((0,2,1)) # [[[ 0 4] # [ 1 5] # [ 2 6] # [ 3 7]] # # [[ 8 12] # [ 9 13] # [10 14] # [11 15]]] arr4=arr1.transpose((2,0,1)) #[[[ 0 4] # [ 8 12]] # # [[ 1 5] # [ 9 13]] # # [[ 2 6] # [10 14]] # # [[ 3 7] # [11 15]]]
这里要注意的是,arr4数组变成4页,这是因为页码和行码对换之后,
页码从数量2,变成了4
而行码从数量4,变成了2
arr5=arr1.transpose((2,1,0)) #[[[ 0 8] # [ 4 12]] # # [[ 1 9] # [ 5 13]] # # [[ 2 10] # [ 6 14]] # # [[ 3 11] # [ 7 15]]] arr6=arr1.transpose((1,2,0)) #[[[ 0 8] # [ 1 9] # [ 2 10] # [ 3 11]] # # [[ 4 12] # [ 5 13] # [ 6 14] # [ 7 15]]]
另外,转置(2,0,1)可以看成,先转置(0,2,1)再转置(1,0,2)
转置(2,1,0)可以看成,先转置(1,0,2),然后转置(0,2,1),最后转置(1,0,2)
转置(1,2,0)可以看成,先转置(1,0,2),在转置(0,2,1)
代码可以写成
arr4=arr1.transpose(0,2,1).transpose(1,0,2)
#[[[ 0 4]# [ 8 12]]## [[ 1 5]# [ 9 13]]## [[ 2 6]# [10 14]]## [[ 3 7]# [11 15]]]
结果一样!
以上这篇numpy.transpose对三维数组的转置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号