多维数组的索引与切片_Numpy库使用入门(二)数据的索引和切片

7928011d4e85271eae2647095c750cfa.png
BERT:ERNIE,咱们下个星期三第二节是啥课?
ERNIE:我康康......(`・ω・´)
>>> table[3][2]
>>> 2
>>> courseDict[2]
>>> 面向对象程序设计
ERNIE:是上 面向对象程序设计
BERT:那没事了,今晚继续炼丹︿( ̄︶ ̄)︿

假设你已经创建了一个ndarray数组,或许存放着你下个星期的课表(每个数据成员存放课程代表的编号)。对于那个摆在你眼前的ndarray数组,怎么获取下个星期三第4节课对应的编号呢?又如何知晓星期二的所有课呢?

对于第一个需求,我们需要获取的是一个组合数据类型中的一个数据成员,这种需求对应的操作称为“索引”;对于第二个需求,我们需要获取的是一个组合数据类型中的一系列数据成员作为一个子集提出,这种需求对应的操作称为“切片”。

Python对数据的索引和切片是非常重要的特征之一,np也继承了传统Python对组合数据类型的切片与索引操作。方法大同小异。

  • 一维数组IDE测试
>>> a = np.array([9,8,7,6,5])
>>> a[2] # 索引,直接可以通过下标索引
7
>>> a[1 : 4 : 2] # 切片,和列表一样,格式为ls[起始编号 : 终止编号(不含) : 步长]
array([8, 6])
  • 多维数组IDE测试
>>> a
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
>>> a[2,2] # 多维支持a[ax1,ax2,...,axn]的索引,这种方法比较常用
9
>>> a[2][2] # 也支持传统列表a[ax1][ax2]...[axn]的索引方式,不常用
9
>>> a[:2,:2] # 把每个坐标替换成切片操作符就可以分别对每一个维度进行切片了
array([[1, 2],
       [4, 5]])
>>> a[::2,::2]
array([[1, 3],
       [7, 9]])
>>> a[::-1,::-1]
array([[9, 8, 7],
       [6, 5, 4],
       [3, 2, 1]])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值