ndnarry元素處理
阿新 • • 發佈:2018-11-02
元素計算函式
-
ceil()
: 向上最接近的整數,引數是 number 或 array -
floor()
: 向下最接近的整數,引數是 number 或 array rint()
: 四捨五入,引數是 number 或 arrayisnan()
: 判斷元素是否為 NaN(Not a Number),引數是 number 或 arraymultiply()
: 元素相乘,引數是 number 或 arraydivide()
: 元素相除,引數是 number 或 arrayabs()
:元素的絕對值,引數是 number 或 arraywhere(condition, x, y)
示例程式碼(1、2、3、4、5、6、7):
# randn() 返回具有標準正態分佈的序列。 arr = np.random.randn(2,3) print(arr) print(np.ceil(arr)) print(np.floor(arr)) print(np.rint(arr)) print(np.isnan(arr)) print(np.multiply(arr, arr)) print(np.divide(arr, arr)) print(np.where(arr > 0, 1, -1))
執行結果:
# print(arr) [[-0.75803752 0.0314314 1.15323032] [ 1.17567832 0.43641395 0.26288021]] # print(np.ceil(arr)) [[-0. 1. 2.] [ 2. 1. 1.]] # print(np.floor(arr)) [[-1. 0. 1.] [ 1. 0. 0.]] # print(np.rint(arr)) [[-1. 0. 1.] [ 1. 0. 0.]] # print(np.isnan(arr)) [[False False False] [False False False]]# print(np.multiply(arr, arr)) [[ 5.16284053e+00 1.77170104e+00 3.04027254e-02] [ 5.11465231e-03 3.46109263e+00 1.37512421e-02]] # print(np.divide(arr, arr)) [[ 1. 1. 1.] [ 1. 1. 1.]] # print(np.where(arr > 0, 1, -1)) [[ 1 1 -1] [-1 1 1]]
元素統計函式
-
np.mean()
,np.sum()
:所有元素的平均值,所有元素的和,引數是 number 或 array -
np.max()
,np.min()
:所有元素的最大值,所有元素的最小值,引數是 number 或 array np.std()
,np.var()
:所有元素的標準差,所有元素的方差,引數是 number 或 arraynp.argmax()
,np.argmin()
:最大值的下標索引值,最小值的下標索引值,引數是 number 或 arraynp.cumsum()
,np.cumprod()
:返回一個一維陣列,每個元素都是之前所有元素的 累加和 和 累乘積,引數是 number 或 array- 多維陣列預設統計全部維度,
axis
引數可以按指定軸心統計,值為0
則按列統計,值為1
則按行統計。
示例程式碼:
arr = np.arange(12).reshape(3,4) print(arr) print(np.cumsum(arr)) # 返回一個一維陣列,每個元素都是之前所有元素的 累加和 print(np.sum(arr)) # 所有元素的和 print(np.sum(arr, axis=0)) # 陣列的按列統計和 print(np.sum(arr, axis=1)) # 陣列的按行統計和
執行結果:
# print(arr) [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] # print(np.cumsum(arr)) [ 0 1 3 6 10 15 21 28 36 45 55 66] # print(np.sum(arr)) # 所有元素的和 66 # print(np.sum(arr, axis=0)) # 0表示對陣列的每一列的統計和 [12 15 18 21] # print(np.sum(arr, axis=1)) # 1表示陣列的每一行的統計和 [ 6 22 38]
元素判斷函式
np.any()
: 至少有一個元素滿足指定條件,返回Truenp.all()
: 所有的元素滿足指定條件,返回True
示例程式碼:
arr = np.random.randn(2,3) print(arr) print(np.any(arr > 0)) print(np.all(arr > 0))
執行結果:
[[ 0.05075769 -1.31919688 -1.80636984] [-1.29317016 -1.3336612 -0.19316432]] True False
元素去重排序函式
np.unique()
:找到唯一值並返回排序結果,類似於Python的set集合
示例程式碼:
arr = np.array([[1, 2, 1], [2, 3, 4]]) print(arr) print(np.unique(arr))
執行結果:
[[1 2 1] [2 3 4]] [1 2 3 4]