tatistics 模块是 Python 自带的统计分析模块,适用于处理数值数据集合,提供基础的描述性统计函数,包括均值、中位数、众数、标准差、方差等。它是教学、数据预处理、实验分析、基本科研工作中常用的工具之一,适用于整数、浮点数等一维数值序列。
常见应用场景:
(1)教学案例中的基本统计分析。
(2)数据分析前的快速概况统计。
(3)对实验结果或测量数据进行均值/标准差汇总。
(4)小规模机器学习原型验证中对结果波动的评估。
◆ ◆ ◆
核心概念
1、所有函数操作对象为一维数值序列(如列表、元组)。
2、数据必须为数字类型(int 或 float),否则会抛出异常。
3、大部分函数有“样本”与“总体”之分(例如 pstdev 与 stdev)。
4、输入列表至少需包含两个元素才能计算标准差、方差。
5、主要用于描述性统计,不涉及假设检验或回归建模。
◆ ◆ ◆
应用举例
例 1:计算平均数(mean)
import statistics
data = [1, 2, 3, 4, 5]
print(statistics.mean(data)) # 输出:3例 2:计算中位数(median)
import statistics
data = [2, 5, 1, 8]
print(statistics.median(data)) # 输出:3.5(偶数个元素取中间平均)例 3:计算众数(mode)
import statistics
data = [1, 2, 2, 3, 4]
print(statistics.mode(data)) # 输出:2(出现最多次)例 4:计算标准差(样本标准差)
import statistics
data = [10, 12, 23, 23, 16]
print(statistics.stdev(data)) # 样本标准差例 5:处理浮点误差的均值(fmean)
import statistics
data = [0.1, 0.1, 0.1, 0.1, 0.1]
print(statistics.fmean(data)) # 输出精确浮点平均值◆ ◆ ◆
常用函数速览
statistics.mean(data)
返回数据的算术平均值(普通平均数)。
参数:
data:可迭代的数字类型对象(列表、元组等)
返回:float,若为空则抛出 StatisticsError
statistics.fmean(data)
返回浮点数版本的算术平均值,速度更快,精度更高。
参数:
data:数字序列
返回:float,不自动转换为 Decimal
statistics.median(data)
返回中位数(排序后中间值)。
参数:
data:数字序列(元素至少 1 个)
返回:int 或 float
statistics.median_low(data)
若序列有偶数项,返回中间偏小值(不取平均)。
参数:
data:数字序列(元素至少 1 个)
返回:int 或 float
statistics.median_high(data)
若序列有偶数项,返回中间偏大值。
参数:
data:数字序列(元素至少 1 个)
返回:int 或 float
statistics.mode(data)
返回出现次数最多的元素(众数)。
参数:
data:至少包含一个元素
返回:int 或 float;若多众数会抛异常
statistics.multimode(data)
返回所有众数组成的列表(可能有多个)。
参数:
data:至少包含一个元素
返回:int 或 float;若多众数会抛异常
statistics.stdev(data)
返回样本的标准差(分母为 n-1)。
参数:
data:至少 2 个数值元素
返回:float
statistics.variance(data)
返回样本方差,即测量数据分布的离散程度(除以 n-1)。
参数:
data:一维数值序列,至少包含两个元素
返回:float,样本方差值(平均离均差的平方)
statistics.pstdev(data)
返回总体标准差,即对所有数据(整群体)计算的标准差(除以 n)。
参数:
data:一维数值序列,至少包含一个元素
返回:float,总体标准差值
statistics.pvariance(data)
返回总体方差,即对所有数据计算的方差(除以 n)。
参数:
data:一维数值序列,至少包含一个元素
返回:float,总体方差值
◆ ◆ ◆
补充说明
1、StatisticsError 是模块内的专属异常类型,用于处理空序列、多个众数等情况。
2、该模块不支持权重统计、协方差、偏度、峰度等高级统计分析。
3、对于更强大的统计需求建议使用第三方库,如 NumPy 或 SciPy。
“点赞有美意,赞赏是鼓励”
热门跟贴