numpy學習總結(重點講解索引方式)

2022-09-06 12:21:21 字數 1742 閱讀 9353

numpy思維導圖

ndarray物件是什麼

ndarray 內部由以下內容組成:

建立陣列的多種方式

特性ndarray物件的內容可以通過索引或切片來訪問和修改,與 python 中 list 的切片操作一樣。

切片是從原陣列切出乙個新的陣列;索引是可以通過下標訪問陣列。

高階索引是:整數陣列索引、布林索引、花式索引。

整數陣列索引:見名知意,通過在x放入整數陣列來表達要索引元素的下標,來檢索原陣列。

例如:

#

整數陣列索引

x = np.array([[1, 2], [3, 4], [5, 6]])

print

(x, '\n')

t = np.array([[0, 1, 2], [0, 1, 0]])  # 這裡,我要獲取原陣列中(0,0)、(1,1)、(2,0)位置的元素

print

(t, '\n')

y = x[[0, 1, 2], [0, 1, 0]]

print(y, '

\n')

# 輸出

[[1 2]

[3 4]

[5 6]]

[[0 1 2]

[0 10]]

[1 4 5]

布林索引:通過布林運算(如:比較運算子)來獲取符合指定條件的元素的陣列。

#

# 布林索引

x = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]])

print

(x)print(x[x > 5], '\n'

)## 使用了 ~(取補運算子)來過濾 nan。

a = np.array([np.nan, 1, 2, np.nan, 3, 4, 5])

print

(a)print(a[~np.isnan(a)], '\n'

)## 如何從陣列中過濾掉非複數元素

a = np.array([1, 2+6j, 5, 3.5+5j])

print

(a)print('

非複數 :

', a[~np.iscomplex(a)])

print('

複數 :

', a[np.iscomplex(a)], '

\n')

#

輸出[[ 0 1 2]

[ 3 4 5]

[ 6 7 8]

[ 9 10 11]]

[ 6 7 8 9 10 11]

[nan 1. 2. nan 3. 4. 5.]

[1. 2. 3. 4. 5.]

[1. +0.j 2. +6.j 5. +0.j 3.5+5.j]

非複數 : [1.+0.j 5.+0.j]

複數 : [2. +6.j 3.5+5.j]

花式索引:

豐富的函式

numpy學習總結

匯入 import numpy as np 生成矩陣 array np.array 1,2,3 4,5,6 矩陣維度 array.ndim 矩陣形狀 array.shape 矩陣大小 array.size 矩陣元素型別 array.dtype a np.array 1,2,3 dtype np.in...

Numpy的學習3 索引

import numpy as np a np.arange 3,15 array 3,4,5,6,7,8,9,10,11,12,13,14 print a 3 6 a np.arange 3,15 reshape 3,4 array 3,4,5,6 7,8,9,10 11,12,13,14 pri...

NumPy學習總結(一)

這一章節我們將學習如何從數值範圍建立陣列。numpy 包中的使用 arange 函式建立數值範圍並返回 ndarray 物件,函式格式如下 numpy.arange start,stop,step,dtype 根據 start 與 stop 指定的範圍以及 step 設定的步長,生成乙個 ndarr...