numpy的函式(一)
阿新 • • 發佈:2021-01-12
- 一元函式
函式 | 說明 |
np.sum(x) | 計算陣列所有元素的和 |
np.prod(x) | 計算陣列所有元素的乘積 |
np.diff(x) | 計算陣列相鄰元素之間的差 |
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值 |
np.rint(x) | 計算陣列各元素的四捨五入值 |
np.modf(x) | 計算陣列各元素的小數和整數部分以兩個獨立陣列形式返回 |
np.cos(x) np.cosh(x) np.sin(x) np.sinh(x) np.tan(x) np.tanh(x) | 計算陣列各元素的普通型和雙曲型三角函式 |
arccos, arccosh, arcsin, arcsinh, arctan, arctanh | 反三角函式和雙曲型反三角函式 |
np.exp(x) | 計算各元素的指數值 |
np.sign(x) |
計算陣列各元素的符號值:1(+),0,-1(-) |
np.rint(x) | 將各元素值四捨五入到最接近的整數,保留dtype |
np.isinf(x) | 判斷是否是無窮 |
np.logical_not() | 計算元素not x的真值,同~ |
# numpy的常用一元函式
def function1():
arr = np.array([
[1, -2, 3],
[4, -5, 6]
])
# 7
print("元素總和:", np.sum(arr))
# 720
print("元素相乘:", np.prod(arr))
# [ [-3 5]
# [-9 11] ]
print("元素差:", np.diff(arr))
# [ [1 2 3]
# [4 5 6] ]
print("元素絕對值:", np.abs(arr))
# [ [1 4 9]
# [16 25 36] ]
print("元素平方:", np.square(arr))
# [ [2.71828183e+00 1.35335283e-01 2.00855369e+01]
# [5.45981500e+01 6.73794700e-03 4.03428793e+02] ]
print("e的元素次方:", np.exp(arr))
# [ [ 1 -1 1]
# [ 1 -1 1] ]
print("元素符號:", np.sign(arr))
- 二元函式
函式 | 說明 |
+ - * / ** | 兩個陣列各元素進行對應運算 |
np.maximum(x, y) np.fmax() np.minimum(x, y) np.fim() | 元素級的最大值/最小值計算 |
np.mod(x, y) | 取餘 |
np.copysign(x, y) | 將陣列y中各元素值的符號賦值給陣列x對應元素 |
> < >= <= == != | 算數比較,產生布爾型陣列 |
np.add() | 相加 |
np.subtract() | 相減 |
np.mutiply() | 相乘 (一一對應乘) |
np.dot() | 矩陣內積 (按公式乘) |
np.vdot() | 兩個向量的點積 |
np…inner() | 一維陣列的向量內積 |
np.divide() | 相除 |
np.floor_divide() | 向下圓整除法(丟棄餘數) |
np.power(arr,B) | 次方,arr內每個元素的B次方 |
np.greater(), np.greater_equal(), np.less(), np.less_equal(), np.equal(), np.not_equal() | >, >=, <, <=, =, != |
np.logical_and() | & 的函式表示式 |
np.logical_or() | |的函式表示式 |
np.logical_xor() | ^ 的函式表示式 |
np.ix_() | 生成一個索引器,用於Fancy indexing(花式索引) |
np.linalg.det() | 計算輸入矩陣的行列式 |
np.inalg.solve() | 計算矩陣形式的線性方程的解 |
# numpy常用的二元函式
def function2():
arr1 = np.array([
[1, 5],
[3, 7]
])
arr2 = np.array([
[2, 4],
[6, 8]
])
# [[ 3 9]
# [ 9 15]]
print("元素相加:", arr1+arr2)
# [[ 2 20]
# [18 56]]
print("元素相乘:", arr1*arr2)
# [[ 1 25]
# [ 9 49]]
print("元素自乘:", arr1**2)
# [[2 5]
# [6 8]]
print("最大元素:", np.maximum(arr1, arr2))
# [[ 2 20]
# [18 56]]
print("元素相乘:", np.multiply(arr1, arr2))
# [[32 44]
# [48 68]]
print("矩陣乘法:", np.dot(arr1, arr2))
- 聚合函式
函式 | 說明 |
np.sum(arr1) | 計算元素的和 |
np.prod(arr1) | 計算元素的積 |
np.mean(arr1) | 計算元素平均值 |
np.std(arr1) | 計算元素的標準差 |
np.var(arr1) | 計算元素的方差 |
np.min(arr1) | 獲得元素的最小值 |
np.max(arr1) | 獲得陣列中元素的最大值 |
np.argmin(arr1) | 獲得陣列中最小值的索引 |
np.argmax(arr1) | 獲得最大值的索引 |
np.median(arr1) | 獲得元素的中位數 |
np.minimum(arr1, arr2) | 獲得多個數組中元素最小值 |
np.maximun(arr1, arr2) | 獲得多個數組中元素最大值 |
np.cumsum() | 元素的逐漸累計和陣列 |
np.cumprod() | 元素的逐漸累計積陣列 |
# numpy常用的聚合函式
def function3():
arr = np.array([
[1, 2, 3],
[4, 5, 6]
])
# 3.5
print("平均值:", np.mean(arr))
# 1
print("最小值:", np.min(arr))
# 2.9166666666666665
print("方差:", np.var(arr))
# 所有元素最大值的索引,從0開始,如 2行3列的元素,索引為 0~5
# 5
print("最大值索引:", np.argmax(arr))
# 3.5
print("中位數:", np.median(arr))
# [ 1 3 6 10 15 21]
print("逐漸累計和:", np.cumsum(arr))
# [ 1 2 6 24 120 720]
print("逐漸累計積:", np.cumprod(arr))