statistics --- 數學統計函式¶
在 3.4 版被加入.
這個模組提供計算數值 (Real-valued) 資料的數學統計函式。
這個模組並非旨在與 NumPy、SciPy 等第三方函式庫,或者像 Minitab、SAS 和 Matlab 等專門設計給專業統計學家的高階統計軟體互相競爭。此模組的目標在於繪圖和科學計算。
除非特別註明,這些函數支援 int、float、Decimal 以及 Fraction。目前不支援其他型別(無論是否為數值型別)。含有混合型別的資料的集合亦是尚未定義,且取決於該型別的實作。若你的輸入資料含有混合型別,你可以考慮使用 map() 來確保結果是一致的,例如:map(float, input_data)。
有些資料集使用 NaN (非數)來表示缺漏的資料。由於 NaN 具有特殊的比較語義,在排序資料或是統計出現次數的統計函數中,會引發意料之外或是未定義的行為。受影響的函數包含 median()、median_low()、 median_high()、 median_grouped()、 mode()、 multimode() 以及 quantiles()。在呼叫這些函數之前,應該先移除 NaN 值:
>>> from statistics import median
>>> from math import isnan
>>> from itertools import filterfalse
>>> data = [20.7, float('NaN'),19.2, 18.3, float('NaN'), 14.4]
>>> sorted(data) # This has surprising behavior
[20.7, nan, 14.4, 18.3, 19.2, nan]
>>> median(data) # This result is unexpected
16.35
>>> sum(map(isnan, data)) # Number of missing values
2
>>> clean = list(filterfalse(isnan, data)) # Strip NaN values
>>> clean
[20.7, 19.2, 18.3, 14.4]
>>> sorted(clean) # Sorting now works as expected
[14.4, 18.3, 19.2, 20.7]
>>> median(clean) # This result is now well defined
18.75
平均值與中央位置量數¶
這些函式計算來自一個母體或樣本的平均值或代表值。
資料的算術平均數(平均值)。 |
|
快速浮點數算數平均數,可調整權重。 |
|
資料的幾何平均數。 |
|
資料的調和平均數。 |
|
Estimate the probability density distribution of the data. |
|
Random sampling from the PDF generated by kde(). |
|
資料的中位數(中間值)。 |
|
資料中較小的中位數。 |
|
資料中較大的中位數。 |
|
分組資料的中位數(第 50 百分位數)。 |
|
離散 (discrete) 或名目 (nomial) 資料中的眾數(出現次數最多次的值),只回傳一個。 |
|