玩转NumPy——NumPy数组的切片和索引
生活随笔
收集整理的這篇文章主要介紹了
玩转NumPy——NumPy数组的切片和索引
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
NumPy數組可以基于 0 ~n?的下標進行索引,切片對象可以通過內置的 slice 函數,并設置 start, stop 及 step 參數進行,從原數組中切割出一個新數組。
eg:
import numpy as np a=np.arange(0,9) s=slice(1,7,2) #從索引1開始,到索引7結束(不包含7),步長為2 print(a) print(a[s])result: [0 1 2 3 4 5 6 7 8] [1 3 5]我們也可以通過冒號“:”進行切片操作,array[start:stop:step]。start:開始索引;stop:結束索引;step:步長?。
eg:
b=a[2:7:2] #從索引2開始,到索引7結束(不包含7),步長為2 print(b)result: [2 4 6]冒號?:?的解釋:如果只放置一個參數,如?[2],將返回與該索引相對應的單個元素。如果為?[2:],表示從該索引開始以后的所有項都將被提取。如果使用了兩個參數,如?[2:7],那么則提取兩個索引(不包括停止索引)之間的項。
eg:
a=np.arange(0,9) b=a[3] c=a[6:] d=a[2:5] #步長默認為1 print("a=",a) print("b=",b) print("c=",c) print("d=",d)result: a= [0 1 2 3 4 5 6 7 8] b= 3 c= [6 7 8] d= [2 3 4]多維數組同樣適用上述方法
eg:
import numpy as npa = np.array([[1,2,3],[4,5,6],[7,8,9]])# 從某個索引處開始切割 print('從數組索引 a[1:] 處開始切割') print(a[1:])result: 從數組索引 a[1:] 處開始切割 [[4 5 6][7 8 9]]?切片還可以包括省略號?…,來使選擇元組的長度與數組的維度相同。 如果在行位置使用省略號,它將返回包含行中元素的numpy數組。
a=np.array([[1,2,3],[4,5,6],[7,8,9]]) print(a[...,1]) #第2列元素 print(a[1,...]) #第2行元素 print(a[...,1:]) #第2列及后面所有列的元素組成的數組result: 第二列元素 [2 5 8] 第二行元素 [4 5 6] 第2列及后面所有列的元素組成的數組 [[2 3][5 6][8 9]]?
?
如有不妥和改進,歡迎私信指出。
總結
以上是生活随笔為你收集整理的玩转NumPy——NumPy数组的切片和索引的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 左旋肉碱和绿咖啡粉在掉秤大师特膳粉中有什
- 下一篇: 干粽叶要泡多长时间才能包粽子?