python3-numpy数组切片和索引
生活随笔
收集整理的這篇文章主要介紹了
python3-numpy数组切片和索引
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、切片
a = np.arange(10) s = slice(2,7,2) # 從索引 2 開始到索引 7 停止,間隔為2 print (a[s]) # [2 4 6]# 也可以通過冒號分隔切片參數 start:stop:step 來進行切片操作 a = np.arange(10) b = a[2:7:2] # 從索引 2 開始到索引 7 停止,間隔為 2 print(b) # [2 4 6]a = np.arange(10) # [0 1 2 3 4 5 6 7 8 9] b = a[5] print(b) # 5a = np.arange(10) print(a[2:]) # [2 3 4 5 6 7 8 9]a = np.arange(10) print(a[2:5]) # [2 3 4]a = np.array([[1,2,3],[3,4,5],[4,5,6]]) print(a[1:]) # [[3 4 5] [4 5 6]]a = np.array([[1,2,3],[3,4,5],[4,5,6]]) print (a[...,1]) # 第2列元素 [2 4 5] print (a[1,...]) # 第2行元素 [3 4 5] print (a[1]) # 第2行元素 [3 4 5] print (a[...,1:]) # 第2列及剩下的所有元素 [[2 3] [4 5] [5 6]]2、索引
x = np.array([[1, 2], [3, 4], [5, 6]]) y = x[[0,1,2], [0,1,0]] print (y) # [1 4 5]# 獲取了 4X3 數組中的四個角的元素 x = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]]) print ('我們的數組是:' ) print (x) print ('\n') y = x[[[0,0],[3,3]],[[0,2],[0,2]]] # 0,0 0,2 3,3 3,2 print ('這個數組的四個角元素是:') print (y) # [[ 0 2] [ 9 11]]a = np.array([[1,2,3], [4,5,6],[7,8,9]]) b = a[1:3, 1:3] # 行1:3 列1:3 c = a[1:3,[1,2]] # 行1:3 列[1,2] d = a[...,1:] # 行所有... 列1: print(b) # [[5 6] [8 9]] print(c) # [[5 6] [8 9]] print(d) # [[2 3] [5 6] [8 9]]"""布爾索引 布爾索引通過布爾運算(如:比較運算符)來獲取符合指定條件的元素的數組。 """ x = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]]) print ('我們的數組是:') print (x) print ('\n') print ('大于 5 的元素是:') print (x[x > 5]) # [ 6 7 8 9 10 11]# 使用了 ~(取補運算符)來過濾 NaN。 a = np.array([np.nan, 1,2,np.nan,3,4,5]) print (a[~np.isnan(a)]) # [1. 2. 3. 4. 5.] print (a[np.isnan(a)]) # [nan nan]# 過濾掉非復數元素 a = np.array([1, 2+6j, 5, 3.5+5j]) print (a[np.iscomplex(a)]) # [2.+6.j 3.5+5.j]"""花式索引 花式索引根據索引數組的值作為目標數組的某個軸的下標來取值。對于使用一維整型數組作為索引,如果目標是一維數組,那么索引的結果就是對應下標的行,如果目標是二維數組,那么就是對應位置的元素。 """x=np.arange(32).reshape((8,4)) print(x) print (x[[4,2,1,7]]) # 取第4、2、1、7行的數據 [[16 17 18 19] [ 8 9 10 11] [ 4 5 6 7] [28 29 30 31]] x=np.arange(32).reshape((8,4)) print (x[[-4,-2,-1,-7]]) # [[16 17 18 19] [24 25 26 27] [28 29 30 31] [ 4 5 6 7]]# 傳入多個索引數組 x=np.arange(32).reshape((8,4)) print (x[np.ix_([1,5,7,2],[0,3,1,2])]) # [[ 4 7 5 6] [20 23 21 22] [28 31 29 30] [ 8 11 9 10]] """ [1,5,7,2],[0,3,1,2] 1,0 1,3 1,1 1,2 5,0 5,3 5,1 5,2 7,0 7,3 7,1 7,2 2,0 2,3 2,1 2,2 """https://www.runoob.com/numpy/numpy-indexing-and-slicing.html
https://www.runoob.com/numpy/numpy-advanced-indexing.html
總結
以上是生活随笔為你收集整理的python3-numpy数组切片和索引的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: regedit或child_proces
- 下一篇: redux中间件原理-讲义