更新時間: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ù)組切片操作的示意圖如圖所示。