目錄
陣列中的元素可以通過索引以及切片的手段進行訪問或者修改,和列表的切片操作一樣。
下面直接使用**進行實現,具體操作方式以及意義以**注釋為準:
(1)通過下標以及內建函式進行索引切片
"""author:xiaoma
date:2021/12/30
"""import numpy as np
a = np.arange(10)#建立乙個從0-9的一維陣列
print(a)
i = slice(2, 7, 2)#從2開始到7結束,每隔1個元素進行索引,即start為1,stop為7,step為2
print(a[i])
得到的輸出如下:
(2)使用冒號分隔引數進行切片索引
"""author:xiaoma
date:2021/12/30
"""import numpy as np
a = np.arange(10)#建立乙個從0-9的一維陣列
print(a[2:7:2])#將起始、結束、步長使用冒號進行分割,表示索引切片
得到的輸出如下:
(3)對部分元素進行索引並切片
a. 切取中間的一段
"""author:xiaoma
date:2021/12/30
"""impor程式設計客棧t numpy as np
a = np.arange(10)#建立乙個從0-9的一維陣列
print(a[2:5])#從2-5進行切片
得到輸出如下:
b. 切取程式設計客棧某乙個元素後的全部
"""author:xiaoma
date:2021/12/30
"""import numpy as np
a = np.arange(10)#建立乙個從0-9的一維陣列
print(a[3:])#從3開始進行列印,直到列印完整個陣列
得到輸出如下:
(4)對多維陣列進行索引切片
"""author:xiaoma
date:2021/12/30
"""import numpy as np
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print('從陣列索引a[2:]處開始切片:')
print(b[2:])
print('陣列第二列進行切片:')
print(b[..., 2])
print('陣列第二行進行切片:')
print(b[2, ...])
print('從第二列開始切片:')
print(b[..., 1:])
得到輸出如下:
(1)整數陣列索引
"""author:xiaoma
date:2021/12/30
"""import numpy as np
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
c = b[[1, 0], [1, 0]]
print('對陣列(1,1)和(0,0)處的元素進行索引切片:')
print(c)
得到輸出如下:
(2)布林索引
通過乙個布林陣列來索引目標陣列,布林陣列可以通過布林運算得到符合條件的陣列元素。
如下我們可以提取乙個陣列中不小於5的數:
"""author:xiaoma
date:2021/12/30
"""import numpy as np
a = np.array([[1, 2, 3, 5], [6, 9, 2, 0], [9, 3, 2, 7]])
print('陣列中不小於5的數如下:')
print(a[a >= 5])
得到輸出如下:
(3)花式索引
花式索引指的是利用整數陣列進行索引。花式索引根據索引陣列的值作為目標陣列的某個軸的下標來取值。對於使用一維整型陣列作為索引,如果目標是一維陣列,那麼索引的結果就是對應下標的行,如果目標是二維陣列,那麼就是對應位置的元素。花式索引跟切片不一樣,它總是將資料複製到新陣列中。
"""author:xiaoma
date:2021/12/30
"""import numpy as np
x = 程式設計客棧np.arange(32).reshape((8, 4))
print('生成的陣列為:')
print(x)
print('傳入順序索引陣列:')
print(x[[4, 2, 1, 7]])
print('傳入倒序索引陣列:')
print(x[[-4, -2, -1, -1]])
print('傳入多個索引陣列:')
print(x[np.ix_([1, 5, 7, 2], [0, 3, 1, 2])])#輸出的是兩個向量不同維度組合的值
得到輸出如下:
Python NumPy學習筆記之矩陣
建立numpy矩陣 a np.mat 1 2 3 4 5 6 7 8 9 b np.matrix 1,2,3 4,5,6 7,8,9 print a,n b 小矩陣合成大矩陣 a np.diag 1,2,3 b np.eye 3 c np.bmat a b 橫向合成矩陣 d np.bmat a b ...
python numpy庫學習之陣列訪問
import numpy as np 訪問陣列的元素,可以分為訪問某個具體位置,某一行 某一列 連續的幾個位置 不連續的幾個位置 滿足特定條件的位置 比如 陣列中所有的值大於a的元素 所有是虛數的元素 不是無窮大nan的元素等 a0 np.array 1 4,2 5,3 print a0 b a0 ...
Python Numpy之linspace用法說明
linspace生成有序列表,重點在資料範圍與資料個數上 linspace 0,1,11 即從0到1閉區間,劃分為11個資料點 import numpy as np a np.linspace 0,1 a array 0.0.11111111,0.www.cppcns.com22222222,0.3...