返回乙個元組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...