一张图理解numpy的rollaxis的用法

官方的API读起来很晦涩,网上的教程也绕的云里雾里的,索性自己做实验,看例子更直接,一看就懂

方法“print_sort_dim(a)”不用纠结,就是按照A的大小,从小到大打印他的对应元素的维度

下面图片,打印的第一列是元素值,后面是它的维度

可以自己分析一下,很直观就能理解,我说太多反而会晕

大概就是:

np.rollaxis(A,0,3) 将同一个元素的下标 0,1, 2  ==》1,2, 0 (将第0个下标,放在第3 -1的位置)

np.rollaxis(A,0,2) 将同一个元素的下标 0,1, 2  ==》1,0, 2(将第0个下标,放在第2 -1的位置)

np.rollaxis(A,0,1) 将同一个元素的下标 0,1, 2  ==》0,1, 2(将第0个下标,放在第1 -1的位置,没变)

np.rollaxis(A,1,3) 将同一个元素的下标 0,1, 2  ==》0,2, 1(将第1个下标,放在第3 -1的位置)

如果还不理解,可以直接测试

 

下面贴出“print_sort_dim”方法

# 将a的值,从小到大打印维度值
def print_sort_dim(A):
    for value in range(0,A.size):
        x,y,z = get_dim(A,value)
        print(A[x][y][z],":[",x,",",y,",",z,"]")

# 从a中拿到数字为i的几个维度值        
def get_dim(A,value):
    for x in range(0,2):
        for y in range(0,2):
            for z in range(0,2):
                if A[x][y][z] == value:
                    return x,y,z

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值