更新時(shí)間:2023-10-25 來(lái)源:黑馬程序員 瀏覽量:
NumPy中支持使用切片訪(fǎng)問(wèn)數(shù)組的元素。一維數(shù)組的切片操作與列表的切片操作相同,而二維數(shù)組的切片操作更為豐富。下面分別以一維數(shù)組和二維數(shù)組為例,講解如何使用切片訪(fǎng)問(wèn)數(shù)組的元素。
1.一維數(shù)組的切片操作
接下來(lái),創(chuàng)建一個(gè)一維數(shù)組,使用切片訪(fǎng)問(wèn)數(shù)組的部分元素,代碼如下。
In []: import numpy as np array_1d = np.array((10, 20, 30, 40, 50, 60]) print (array_1d[1:3]) #訪(fǎng)問(wèn)索引為1、2的元素 print (array_1d|:3)) #訪(fǎng)問(wèn)前3個(gè)元素 print (array_ld[:-1]) #訪(fǎng)問(wèn)除末尾元素之外的元素 print (array_ld[:]) #訪(fǎng)問(wèn)全部元素 print(array_1d?::2)) #訪(fǎng)問(wèn)從開(kāi)頭到末尾、步長(zhǎng)為2的元素 [20 30] [10 20 30] [10 20 30 40 50] [10 20 30 40 50 60] [10 30 50]
2.二維數(shù)組的切片操作
與一維數(shù)組相比,二維數(shù)組支持更多的切片操作,可以向方括號(hào)內(nèi)傳入多個(gè)切片,甚至可以混合傳入索引和切片。
傳入一個(gè)切片的代碼如下。
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]) 使用切片訪(fǎng)問(wèn)前兩行的元素 [[1 2 3] [4 5 6] [7 8 9]] ------------ [[1 2 3] [4 5 6]]
傳入兩個(gè)切片的代碼如下。
n []: print(arr_2d[:2, 0:1]) # 使用切片訪(fǎng)問(wèn)前兩行、第一列的元素 [[1] [4]]
混合傳入整數(shù)索引和切片的代碼如下。
In []:print(arr_2d[:2, 1]) # 使用切片訪(fǎng)問(wèn)前兩行、第二列的元素 [2 5]
上述二維數(shù)組切片操作的示意圖如圖所示。