Python数据整理
上QQ阅读APP看书,第一时间看更新

练习35:索引和切片

NumPy数组的索引和切片与常规列表索引非常类似。我们甚至可以以格式(start,step,end)提供一个额外的步长参数,以此步长大小逐步遍历元素向量。此外,我们可以将一个列表作为参数传递来选择特定的元素。

在本练习中,我们将学习关于一维和多维数组的索引和切片知识。

说明

在多维数组中,你可以使用两个数字来表示元素的位置。例如,元素位于第3行和第2列,其索引分别为2和1(因为Python是基于0的索引)。

1.创建一个包含10个元素的数组,通过切片检查其各个元素,并使用不同的语法对数组进行索引。命令如下:

输出如下:

2.使用以下命令输出第7个位置的元素:

输出如下:

3.使用以下命令输出第3个和第6个位置之间的元素:

输出如下:

4.使用以下命令输出直到第4个位置的元素:

输出如下:

5.使用以下命令输出后向索引的元素:

输出如下:

6.使用以下命令输出其后向索引的元素(跳跃的三个值):

输出如下:

7.使用以下命令创建一个名为array_2的新数组:

输出如下:

8.使用以下命令输出数组中第二、第四和第九个元素:

输出如下:

9.使用以下命令创建多维数组:

输出如下:

10.使用双方括号索引访问值,命令如下:

输出如下:

11.使用单方括号索引访问值,命令如下:

输出如下:

12.使用行或列访问多维数组中的值,命令如下:

输出如下:

13.输出指定行和列索引的矩阵,命令如下:

输出如下:

14.输出指定行和列索引的矩阵,命令如下:

输出如下:

条件子集

条件子集是一种基于数值条件来选取特定元素的方式。它几乎就像SQL查询子集元素的简短版本,请参考以下示例:

示例输出如下(需要注意的是,由于数组是随机生成的,所以它每次的输出都不一致):