首页技术文章正文

NumPy中怎样使用切片访问数组元素?

更新时间: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]

上述二维数组切片操作的示意图如图所示。

1698214673251_arr.png

分享到:
在线咨询 我要报名
和我们在线交谈!