首頁技術(shù)文章正文

NumPy中怎樣使用切片訪問數(shù)組元素?

更新時間:2023-10-25 來源:黑馬程序員 瀏覽量:

NumPy中支持使用切片訪問數(shù)組的元素。一維數(shù)組的切片操作與列表的切片操作相同,而二維數(shù)組的切片操作更為豐富。下面分別以一維數(shù)組和二維數(shù)組為例,講解如何使用切片訪問數(shù)組的元素。

1.一維數(shù)組的切片操作

接下來,創(chuàng)建一個一維數(shù)組,使用切片訪問數(shù)組的部分元素,代碼如下。

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.二維數(shù)組的切片操作

與一維數(shù)組相比,二維數(shù)組支持更多的切片操作,可以向方括號內(nèi)傳入多個切片,甚至可以混合傳入索引和切片。

傳入一個切片的代碼如下。

In. []:    import nurpy as np
           arr_2d= np.array({[1,2,3],[4,5,6],[7,9,9}])  # 創(chuàng)建二維數(shù)組
           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]]

混合傳入整數(shù)索引和切片的代碼如下。

In []:print(arr_2d[:2, 1])          # 使用切片訪問前兩行、第二列的元素
[2 5]

上述二維數(shù)組切片操作的示意圖如圖所示。

1698214673251_arr.png

分享到:
在線咨詢 我要報名
和我們在線交談!