Python Statistics 模块

statistics 模块提供了用于计算平均数、中位数和其他描述性统计量的简单工具。

该模块从 Python 3.4 开始加入标准库。

import statistics

当你需要对一小组数字做常见统计计算时,可以使用 statistics。如果是更高级的数据分析,NumPy 和 pandas 更强大,但它们不属于标准库。

mean()

import statistics

scores = [80, 90, 95, 100]
print(statistics.mean(scores))
91.25

fmean 会返回浮点数平均值,处理数字数据时通常更快:

import statistics

print(statistics.fmean([1, 2, 3]))
2.0

median()

import statistics

values = [1, 3, 5, 100]
print(statistics.median(values))
4.0

mode()

mode 会返回最常见的值。

import statistics

print(statistics.mode(['python', 'python', 'rust']))
python

如果有多个值并列最常见,multimode 会把它们全部返回:

import statistics

print(statistics.multimode(['red', 'blue', 'red', 'blue']))
['red', 'blue']

stdev()

stdev 用于计算样本标准差。

import statistics

print(round(statistics.stdev([2, 4, 4, 4, 5, 5, 7, 9]), 2))
2.14

处理空数据

对于空输入,大多数函数都会抛出 StatisticsError

import statistics

try:
    statistics.mean([])
except statistics.StatisticsError as error:
    print(type(error).__name__)
StatisticsError

相关链接