numpy 常見函式

2021-10-06 05:27:08 字數 2207 閱讀 2691

返回乙個元組tuple,包含a中所有不為零元素的索引;

例子:

# 一維陣列a

a = np.array([0

,2,3

])c = np.nonzero(a)

print

(np.array(c)

.ndim)

# 2print

(np.array(c)

)# [[1 2]]

print

(c)# (array([1, 2]),)

# 二維陣列a

x = np.array([[

3,0,

0],[

0,4,

0],[

5,6,

0]])

'''array([[3, 0, 0],

[0, 4, 0],

[5, 6, 0]])

'''>>

> np.nonzero(x)

(array([0

,1,2

,2])

, array([0

,1,0

,1])

)>>

> x[np.nonzero(x)

]array([3

,4,5

,6])

# 對於三維陣列

a = np.array([[

[0,1

],[1

,0]]

,[[0

,1],

[1,0

]],[

[0,0

],[1

,0]]

])b = np.nonzero(a)

print

(b)print

(np.array(b)

)np.transpose(np.nonzero(a)

)'''

# tuple,每個元素為

(array([0, 0, 1, 1, 2]),

array([0, 1, 0, 1, 1]),

array([1, 0, 1, 0, 0]))

# np.array(b)

[[0 0 1 1 2]

[0 1 0 1 1]

[1 0 1 0 0]]

# np.transpose(np.nonzero(a))

array([[0, 0, 1],

[0, 1, 0],

[1, 0, 1],

[1, 1, 0],

[2, 1, 0]])

'''

np.where(condition, x, y)
滿足條件(condition),輸出x,不滿足輸出y。

a = np.array([[

1,2,

3,4,

5],[

6,7,

8,9,

10]])

b = np.where(a>6,

1,-1

)'''

array([[-1, -1, -1, -1, -1],

[-1, 1, 1, 1, 1]])

'''

np.where(condition)
只有條件 (condition),沒有x和y,則輸出滿足條件 (即非0) 元素的座標 (等價於numpy.nonzero)。

這裡的座標以tuple的形式給出,通常原陣列有多少維,輸出的tuple中就包含幾個陣列,分別對應符合條件元素的各維座標。

np.where(a>10) == np.nonzero(a>10)

np.max(a, axis=none, out=none, keepdims=false)

求序列的最值, 最少接受乙個引數

np.max([-2, -1, 0, 1, 2]). --> 2

np.maximum(x, y, out=none)

x和y逐位進行比較,選擇最大值.最少接受兩個引數

np.maximum([-3, -2, 0, 1, 2], 0) --> [0,0,0,1,2]

Numpy 之常見用法及函式

陣列事numpy 的最基本資料物件,也是一種大容量資料容器 向量化運算,基本代替for 語句,大大提高運算速度 空值處理 離散資料和連續資料 建立檢視 選區 切片 花式索引 numpy的函式 一次函式 二次函式 資料快速挑選函式 基本統計函式 作為函式 np.sum np data,axis arg...

numpy函式記錄

功能 產生size個離散均勻分布的整數,這些整數大於等於low,小於high。預設high是none,如果只有low,那範圍就是 0,low 如果有high,範圍就是 low,high n 3a np.random.randint 20,40,n,2 astype np.float32 b np.r...

Numpy常用函式

1 把向量轉化為矩陣 import numpy as np a np.arange 15 構造出乙個從0到14的向量 檢視為 array 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 改變向量為三行五列的矩陣 a.reshape 3,5 結果為 array 0,1,2,3,4...