更新时间: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]
上述二维数组切片操作的示意图如图所示。