更新时间:2023-10-25 来源:黑马程序员 浏览量:
NumPy中支持使用切片访问数组的元素。一维数组的切片操作与列表的切片操作相同,而二维数组的切片操作更为丰富。下面分别以一维数组和二维数组为例,讲解如何使用切片访问数组的元素。
1.一维数组的切片操作
接下来,创建一个一维数组,使用切片访问数组的部分元素,代码如下。
In []: import numpy as np array_1d = np.array((10, 20, 30, 40, 50, 60]) print (array_1d[1:3]) #访问索引为1、2的元素 print (array_1d|:3)) #访问前3个元素 print (array_ld[:-1]) #访问除末尾元素之外的元素 print (array_ld[:]) #访问全部元素 print(array_1dị::2)) #访问从开头到末尾、步长为2的元素 [20 30] [10 20 30] [10 20 30 40 50] [10 20 30 40 50 60] [10 30 50]
2.二维数组的切片操作
与一维数组相比,二维数组支持更多的切片操作,可以向方括号内传入多个切片,甚至可以混合传入索引和切片。
传入一个切片的代码如下。
In. []: import nurpy as np arr_2d= np.array({[1,2,3],[4,5,6],[7,9,9}]) # 创建二维数组 print (arr_2d) print("") print(arr_2d[:2]) 使用切片访问前两行的元素 [[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6]]
传入两个切片的代码如下。
n []: print(arr_2d[:2, 0:1]) # 使用切片访问前两行、第一列的元素 [[1] [4]]
混合传入整数索引和切片的代码如下。
In []:print(arr_2d[:2, 1]) # 使用切片访问前两行、第二列的元素 [2 5]
上述二维数组切片操作的示意图如图所示。