生成 ndarray 数组后,如何读取我们所需要的数据呢?在 NumPy 中,既可以获取 ndarray 数组的单个元素,也可以获取一组元素(也即切片),这与 Python 中的列表(list)和元组(tuple)非常类似。
请看下面的代码:
import numpy as np np.random.seed(2019) nd1 = np.random.random([10]) #获取指定位置的数据, 获取第4个元素 nd1[3] #截取一段数据 nd1[3:6] #截取固定间隔数据 nd1[1:6:2] #倒序取数 nd1[::-2] #截取一个多维数组的一个区域内数据 nd2=np.arange(25).reshape([5,5]) nd2[1:3,1:3] #截取一个多维数组中, 数值在一个值域之内的数据 nd2[(nd2>3)&(nd2<10)] #截取多维数组中, 指定的行,如读取第2,3行 nd2[[1,2]] #或nd12[1:3,:] ##截取多维数组中, 指定的列,如读取第2,3列 nd2[:,1:3]
如果对上面这些获取方式还不是很清楚,没关系,下面则将通过图形的方式来进一步说明,如图1所示,左边为表达式,右边为表达式获取的元素。注意,不同的边界,表示不同的表达式。