【Python 標準庫解讀】數據科學計算庫 — math

歡迎加入 Python 官方文檔翻譯團隊:https://www.transifex.com/python-doc/


math 模塊官方文檔:https://docs.python.org/3/library/math.html

math 模塊包含的函數按照用途可分爲:數論與表示函數、冪函數與對數函數、三角函數、角度轉換、雙曲函數、特殊函數和常量

math 模塊包含的部分函數如下:(最常用的函數已用紅色標識)

數論與表示函數
函數 功能
ceil(x) 對浮點數 x 向上取整,即大於或等於 x 的最小整數,返回整形值
floor(x) 對浮點數 x 向下取整,即小於或等於 x 的最大整數,返回整形值
copysign(x, y) 返回與 y 同號的 x 值,類型爲浮點數
fabs(x) 對數 x 求絕對值,返回浮點數
factorial(x) 對數 x 求 x!,即 x 的階乘,返回整數
fmod(x, y) x/y 的餘數,fmod()% 類似,不同的是,fmodx 來決定餘數的符號,%y 來決定餘數的符號
frexp(x) 返回一個由 x 的尾數和指數組成的元組 (m,e)
計算方式:x 分別除以 0.5 和 1,得到一個值的範圍
2e 的值要在這個範圍之內,e 爲符合要求的最大整數值,x/2e 得到 m 的值
如果 x 等於 0,則 m 和 e 的值都爲 0,m 的絕對值的範圍爲 (0.5,1) 之間,不包括 0.5 和 1
fsum(iterable) 對迭代器裏的每個元素進行求和操作,返回浮點數
gcd(x, y) 求整數 x 和 y 的最大公約數,gcd(0, 0) 返回 0
isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0) 若 a 和 b 的值比較接近則返回 True,否則返回 False
rel_tol:最大相對容差,是 a 和 b 之間允許的最大差值,如要設置5%的容差,則 rel_tol=0.05
默認容差爲 1e-09,確保兩個值在大約 9 位十進制數字內相同。rel_tol 必須大於零
abs_tol:最小絕對容差:對於接近零的比較很有用。 abs_tol 必須至少爲零
如果沒有錯誤發生,結果將是:abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
isfinite(x) 如果 x 不是無窮大,則返回 True ,否則返回 False (注意 0.0 被認爲是有限的)
isinf(x) 如果 x 是正無窮大或負無窮大,則返回 True,否則返回 False
isnan(x) 如果 x 不是數字,則返回 True,否則返回 False
ldexp(x, i) 返回 x * (2i) 的值。是函數 frexp() 的反函數
modf(x) 返回由 x 的小數部分和整數部分組成的元組
remainder(x, y) 返回 IEEE 754 風格的 x 相對於 y 的餘數
對於有限 x 和有限非零 y ,這是差異 x - n * y ,其中 n 是與商 x / y 的精確值最接近的整數
如果 x / y 恰好位於兩個連續整數之間,則最近的 * even* 整數用於 n
餘數 r = remainder(x, y) 因此總是滿足 abs( r ) <= 0.5 * abs(y)
特殊情況遵循IEEE 754:特別是 remainder(x, math.inf) 對於任何有限 x 都是 x
而 remainder(x, 0) 和 remainder(math.inf, x) 引發 ValueError 適用於任何非NaN的 x
如果餘數運算的結果爲零,則該零將具有與 x 相同的符號
在使用IEEE 754二進制浮點的平臺上,此操作的結果始終可以完全表示:不會引入舍入錯誤
trunc(x) 對浮點數 x 取整(捨去小數部分),返回整形值
trunc(x) 函數功能與 // 整除的結果類似,區別在於 trunc(x) 函數返回的值爲整形,而 // 整除返回的值是浮點型

冪函數與對數函數
函數 功能
exp(x) 返回 e x,即 e 次 x 冪,其中 e = 2.718281… 是自然對數的基數,這通常比 math.ex 或 pow(math.e, x) 更精確
expm1(x) 返回 e x-1,即 e 的 x 次冪減 1,其中 e = 2.718281… 是自然對數的基數
log(x[, base]) 返回 x 的自然對數,默認以 e 爲基數,base 參數給定時,將 x 的對數返回給定的 base,計算式爲:log(x)/log(base)
log1p(x) 返回 x+1 的自然對數 (基數爲e) 的值
log2(x) 返回 x 以 2 爲底的對數,通常比 log(x, 2) 更準確
log10(x) 返回 x 底爲10的對數,通常比 log(x, 10) 更準確
pow(x, y) 返回 x 的 y 次冪,即 xy
sqrt(x) 返回 x 的平方根

三角函數
函數 功能
cos(x) 返回 x 弧度的餘弦值
sin(x) 返回 x 弧度的正弦值
tan(x) 返回 x 弧度的正切值
acos(x) 以弧度爲單位返回 x 的反餘弦值
asin(x) 以弧度爲單位返回 x 的反正弦值
atan(x) 以弧度爲單位返回 x 的反正切值
atan2(y, x) 以弧度爲單位返回 atan(y / x) ,結果在 -pi 和 pi 之間
從原點到點 (x, y) 的平面矢量使該角度與正X軸成正比
atan2() 的點的兩個輸入的符號都是已知的,因此它可以計算角度的正確象限
例如,atan(1)atan2(1, 1) 都是 pi/4 ,但 atan2(-1, -1)-3*pi/4
hypot(x, y) 返回歐幾里德範數,sqrt(x*x + y*y) ,這是從原點到點 (x, y) 的向量長度

角度轉換
函數 功能
degrees(x) 將角度 x 從弧度轉換爲度數
radians(x) 將角度 x 從度數轉換爲弧度

雙曲函數(基於雙曲線而非圓來對三角函數進行模擬)
函數 功能
acosh(x) 返回 x 的反雙曲餘弦值
asinh(x) 返回 x 的反雙曲正弦值
atanh(x) 返回 x 的反雙曲正切值
cosh(x) 返回 x 的雙曲餘弦值
sinh(x) 返回 x 的雙曲正弦值
tanh(x) 返回 x 的雙曲正切值

特殊函數
函數 功能
erf(x) 可用於計算傳統的統計函數,如 累積標準正態分佈
erfc(x) 返回 x 處的互補誤差函數。 互補錯誤函數 定義爲 1.0 - erf(x)。 它用於 x 的大值,從其中減去一個會導致 有效位數損失
gamma(x) 返回 x 處的 伽馬函數值
lgamma(x) 返回 Gamma 函數在 x 絕對值的自然對數

常量
函數 功能
math.pi 數學常數 π = 3.141592…,精確到可用精度
math.e 數學常數 e = 2.718281…,精確到可用精度
math.tau 數學常數 τ = 6.283185…,精確到可用精度,Tau 是一個圓周常數,等於 2π,圓的周長與半徑之比
math.inf 浮點正無窮大(對於負無窮大,使用 -math.inf )相當於 float('inf') 的輸出
math.nan 浮點非數字(NaN)值,相當於 float('nan') 的輸出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章