NumPy数组(二)- 数组的索引和切片

##1. 基础知识 ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。

ndarray [start:stop:step] start:表示数组切片的起始下标 stop:表示数组切片的结束下标 step:表示数组切片的步长 注意:冒号 : 的解释:如果只放置一个参数,如 [2],将返回与该索引相对应的单个元素。如果为 [2:],表示从该索引开始以后的所有项都将被提取。如果使用了两个参数,如 [2:7],那么则提取两个索引(不包括停止索引)之间的项

import numpy as np
data1 = np.array([1,2,3,4,5,6,7,8,9])
print('data1的前四项为:',data1[0:4])       #返回下标为0到下标为4的前一项,索引不包括停止索引项
print('逆序输出数组元素:',data1[::-1])      #逆向输出数组data1中的元素
print('以步长为2输出0到0的元素:',data1[0:8:2])     #返回从下标为0到下标为8的前一项,且步长为2
print('输出data1中第一项之后的元素:',data1[1:])        #返回下标为1后的所有元素,包括下标为1的元素
复制代码

代码运行截图

##2. 高级索引 NumPy 比一般的 Python 序列提供更多的索引方式。除了之前看到的用整数和切片的索引外,数组可以由整数数组索引、布尔索引及花式索引。

import numpy as np
data1 = np.array([1,2,3,4,5,6,7,8,9])
data2 = np.array([[1,2,3],[4,5,6],[7,8,9]])
data3 = data2[[0,1,0],[0,1,2]]     #返回data2中(0,0),(1,1),(0,2)的元素
print("data2中坐标为(0,0),(1,1),(0,2)的元素分别为:",data3)
data4 = data2[data2>2]              #布尔索引,返回data2中元素值大于2的元素
print('data2中元素大于2的元素是:',data4)
data5 = np.arange((24),dtype=int).reshape(4,6)
print('修改形状后的data5为:\n',data5)
data6 = data5[[1,2]]        #利用整数数组进行索引,返回data5中的第1,2行(针对二维数组而言)
print("二维数组中data6中第1行,第2行分别为:\n",data6)
print("一维数组中data1中第1个,第2个元素为:",data1[[0,1]])         #利用整数数组进行索引,返回data1中的第0,1个(针对一维数组而言)
复制代码

代码运行截图:

转载于:https://juejin.im/post/5c99ef20e51d4512aa5bc640

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值