NumPy 索引和切片
可以通过索引或切片来访问和修改ndarray对象的内容,就像Python的内置容器对象一样。
如前所述,ndarray对象中的项遵循基于零的索引。有三种类型的索引方法可用 – 字段访问、基本切片 和 高级索引 。
基本切片是Python基本切片概念在n维度中的扩展。Python切片对象可通过将 start、stop 和 step 参数传递给内置 slice 函数来构建。这个切片对象被传递给数组以提取数组的一部分。
示例1
它的输出如下:
在上面的例子中,通过 ndarray 函数准备了一个数组对象。然后定义了一个切片对象,分别使用起始值2、结束值7和步长2。当将这个切片对象传递给ndarray时,将切片从索引2开始到索引7,步长为2。
通过在 ndarray 对象直接使用冒号:(起始值:结束值:步长)也可以得到相同的结果。
示例2
在这里,我们将得到相同的输出−
如果只传入一个参数,将返回与索引对应的单个项。如果在其前面插入冒号(:),将提取从该索引开始的所有项。如果使用两个参数(之间用冒号分隔),将切片两个索引之间的项(不包括停止索引),默认步长为1。
示例3
它的输出如下 –
示例4
现在,输出将是−
示例5
这里,输出将会是 –
上述描述也适用于多维 ndarray 。
示例6
输出结果如下:
切片也可以包含省略号(…)以使选择元组的长度与数组的维度相同。如果在行位置使用省略号,则返回一个由行中的项组成的ndarray。
示例7
该程序的输出如下所示: