numpy-ndarray数组的索引方式——三点号、半省略号的作用,以及None、numpy.newaxis的使用

一、三点号、半省略号的作用

作用用一句话总结就是“省略在相应位置所有的冒号”。

如果把三点省略号放在最前面,表示省略前面所有的维度;放在最后面表示省略后面所有的维度;放在中间表示省略中间的维度。

我们可以通过人工添加一些索引和合理地放置半省略号,来改变冒号索引的维度。

>>> d
array([[[ 0,  1,  2],
        [ 2,  3,  4],
        [ 4,  5,  6]],
 
       [[ 8,  9, 10],
        [10, 11, 12],
        [12, 13, 14]],
 
       [[16, 17, 18],
        [18, 19, 20],
        [20, 21, 22]]])
>>> d[1,...]
array([[ 8,  9, 10],
       [10, 11, 12],
       [12, 13, 14]])
>>> d[...,1]
array([[ 1,  3,  5],
       [ 9, 11, 13],
       [17, 19, 21]])
>>> d[1,...,1]
array([ 9, 11, 13])

参考:https://zhuanlan.zhihu.com/p/264896206

二、None、newaxis在索引上的用法

类似numpy模块下的numpy.expand_axis()函数的扩展数组维度的功能,我们通过在索引数组时添加None或numpy.newaxis参数到某一个维度上,来添加这个维度。

假设arr的形状是3*4*5,那么我调用arr1 = arr[:, None, ...],那么arr1的形状就是3*1*4*5(从左开始数,在第几个位置就在第几个维度上加1)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值