元素計算函數
-
- ceil():向上最接近的整數,參數是number或array
-
- floor():向下最接近的整數,參數是number或array
-
- rint():四捨五入,參數是number或array
-
- isnan():判斷元素是否爲NaN(Not a Number),參數是number或array
-
- multiply():元素相乘,參數是number或array
-
- divide():元素相除,參數是number或array
-
- abs():元素的絕對值,參數是number或array
-
- where(condition, x, y):三原色運算符,x if condition else y
示例代碼(1~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或array
- np.argmax(), np.argmin():最大值的下標索引值,最小值的下標索引值,參數是number或array
- np.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():至少有一個元素滿足指定條件,返回True
- np.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]