【python】numpy庫ndarray多維陣列的的運算:np.abs(x)、np.sqrt(x)、np.modf(x)等
阿新 • • 發佈:2018-12-25
numpy庫提供非常便捷的陣列運算,方便資料的處理。
1、陣列與標量之間可直接進行運算
In [45]: a
Out[45]:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
In [46]: a/5
Out[46]:
array([[ 0. , 0.2, 0.4, 0.6],
[ 0.8, 1. , 1.2, 1.4],
[ 1.6, 1.8, 2. , 2.2]])
2、NumPy一元函式對ndarray中的資料執行元素級運算的函式
- np.abs(x)、np.fabs(x) : 計算陣列各元素的絕對值
- np.sqrt(x) : 計算陣列各元素的平方根
- np.square(x) : 計算陣列各元素的平方
- np.log(x) 、np.log10(x)、np.log2(x) : 計算陣列各元素的自然對數、10底對數和2底對數
- np.ceil(x) 、np.floor(x) : 計算陣列各元素的ceiling值或floor值
In [48]: a[1,1] = -1
In [49]: a
Out[49]:
array([[ 0, 1, 2, 3],
[ 4, -1, 6, 7],
[ 8, 9, 10, 11]])
In [50]: np.abs(a)
Out[50 ]:
array([[ 0, 1, 2, 3],
[ 4, 1, 6, 7],
[ 8, 9, 10, 11]])
- np.rint(x) : 計算陣列各元素的四捨五入值
- np.modf(x) : 將陣列各元素的小數和整數部分以兩個獨立陣列形式返回
- np.cos(x)、 np.cosh(x)、np.sin(x)、 np.sinh(x)、np.tan(x) 、np.tanh(x) : 計算陣列各元素的普通型和雙曲型三角函式
- np.exp(x) : 計算陣列各元素的指數值
- np.sign(x) : 計算陣列各元素的符號值,1(+), 0, ‐1(‐)
3、NumPy二元函式對ndarray中的資料執行元素級運算的函式
- +、 ‐、 * 、/ 、** 兩個陣列各元素進行對應運算
- np.maximum(x,y) 、np.fmax()、 np.minimum(x,y) 、np.fmin() :元素級的最大值/最小值計算
- np.mod(x,y) :元素級的模運算
- np.copysign(x,y) : 將陣列y中各元素值的符號賦值給陣列x對應元素
- > < >= <= == != 算術比較,產生布爾型陣列
In [59]: b = np.full_like(a,2)
In [60]: b
Out[60]:
array([[2, 2, 2, 2],
[2, 2, 2, 2],
[2, 2, 2, 2]])
In [61]: a*b
Out[61]:
array([[ 0, 2, 4, 6],
[ 8, -2, 12, 14],
[16, 18, 20, 22]])
In [62]: np.maximum(a,b)
Out[62]:
array([[ 2, 2, 2, 3],
[ 4, 2, 6, 7],
[ 8, 9, 10, 11]])
In [63]: a>b
Out[63]:
array([[False, False, False, True],
[ True, False, True, True],
[ True, True, True, True]], dtype=bool)