Python statistics 模块

在数据分析和科学计算中,统计学是一个非常重要的工具。

Python 提供了一个内置的 statistics 模块,专门用于处理基本的统计计算。本文将详细介绍 statistics 模块的功能和使用方法,帮助初学者快速掌握如何使用这个模块进行基本的统计分析。

statistics 模块提供了许多常用的统计函数,如均值、中位数、方差、标准差等。

要使用 statistics 函数必须先导入:

复制代码
import statistics

查看 statistics 模块中的内容:

>>> import statistics

>>> dir(statistics)

'Counter', 'Decimal', 'Fraction', 'NormalDist', 'StatisticsError', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_coerce', '_convert', '_exact_ratio', '_fail_neg', '_find_lteq', '_find_rteq', '_isfinite', '_normal_dist_inv_cdf', '_ss', '_sum', 'bisect_left', 'bisect_right', 'erf', 'exp', 'fabs', 'fmean', 'fsum', 'geometric_mean', 'groupby', 'harmonic_mean', 'hypot', 'itemgetter', 'log', 'math', 'mean', 'median', 'median_grouped', 'median_high', 'median_low', 'mode', 'multimode', 'numbers', 'pstdev', 'pvariance', 'quantiles', 'random', 'sqrt', 'stdev', 'tau', 'variance'


常用的统计函数

均值(Mean)

均值是数据集中所有数值的平均值。statistics 模块提供了 mean() 函数来计算均值。

实例

data = [1, 2, 3, 4, 5]

mean_value = statistics.mean(data)

print("均值:", mean_value)

输出:

复制代码
均值: 3

中位数(Median)

中位数是将数据集按大小顺序排列后位于中间位置的数值。statistics 模块提供了 median() 函数来计算中位数。

实例

data = [1, 2, 3, 4, 5]

median_value = statistics.median(data)

print("中位数:", median_value)

输出:

复制代码
中位数: 3

如果数据集的长度为偶数,median() 函数会自动计算中间两个数的平均值。

实例

data = [1, 2, 3, 4]

median_value = statistics.median(data)

print("中位数:", median_value)

输出:

复制代码
中位数: 2.5

众数(Mode)

众数是数据集中出现频率最高的数值。statistics 模块提供了 mode() 函数来计算众数。

实例

data = [1, 2, 2, 3, 4]

mode_value = statistics.mode(data)

print("众数:", mode_value)

输出:

复制代码
众数: 2

如果数据集中没有重复的数值,mode() 函数会抛出 StatisticsError 异常。

方差(Variance)

方差是衡量数据集中数值离散程度的指标。statistics 模块提供了 variance() 函数来计算方差。

实例

data = [1, 2, 3, 4, 5]

variance_value = statistics.variance(data)

print("方差:", variance_value)

输出:

复制代码
方差: 2.5

标准差(Standard Deviation)

标准差是方差的平方根,用于衡量数据集的离散程度。statistics 模块提供了 stdev() 函数来计算标准差。

实例

data = [1, 2, 3, 4, 5]

stdev_value = statistics.stdev(data)

print("标准差:", stdev_value)

输出:

复制代码
标准差: 1.5811388300841898

调和平均数(Harmonic Mean)

调和平均数是一种特殊的平均数,适用于计算速率等场景。statistics 模块提供了 harmonic_mean() 函数来计算调和平均数。

实例

data = [1, 2, 4]

harmonic_mean_value = statistics.harmonic_mean(data)

print("调和平均数:", harmonic_mean_value)

输出:

复制代码
调和平均数: 1.7142857142857142

几何平均数(Geometric Mean)

几何平均数是一种用于计算增长率或比例的平均数。statistics 模块提供了 geometric_mean() 函数来计算几何平均数。

实例

data = [1, 2, 4]

geometric_mean_value = statistics.geometric_mean(data)

print("几何平均数:", geometric_mean_value)

输出:

复制代码
几何平均数: 2.0

其他常用函数

中位数低(Median Low)和中位数高(Median High)

statistics 模块还提供了 median_low()median_high() 函数,分别用于计算数据集的中位数低和中位数高。

实例

data = [1, 2, 3, 4]

median_low_value = statistics.median_low(data)

median_high_value = statistics.median_high(data)

print("中位数低:", median_low_value)

print("中位数高:", median_high_value)

输出:

复制代码
中位数低: 2
中位数高: 3

分位数(Quantiles)

分位数是将数据集分成若干等份的数值。statistics 模块提供了 quantiles() 函数来计算分位数。

实例

data = [1, 2, 3, 4, 5]

quantiles_value = statistics.quantiles(data, n=4)

print("四分位数:", quantiles_value)

输出:

复制代码
四分位数: [1.5, 3.0, 4.5]

math 模块方法

方法 描述
statistics.harmonic_mean() 计算给定数据集的调和平均值。
statistics.mean() 计算数据集的平均值
statistics.median() 计算数据集的中位数
statistics.median_grouped() 计算给定分组数据集的分组中位数
statistics.median_high() 计算给定数据集的高位中位数
statistics.median_low() 计算给定数据集的低位中位数。
statistics.mode() 算数据集的众数(出现频率最高的值)
statistics.pstdev() 计算给定数据集的样本标准偏差
statistics.stdev() 计算数据集的标准差
statistics.pvariance() 计算给定数据集的样本方差
statistics.variance() 计算数据集的方差
statistics.quantiles() 计算数据集的分位数,可指定分位数的数量(默认为四分位数)
相关推荐
MarvinP7 分钟前
python基础:位置互换
开发语言·python·算法
声声codeGrandMaster8 分钟前
Django项目入门二
后端·python·django
AndrewHZ18 分钟前
【图像处理基石】什么是影调?并用python实现一个哈苏色彩影调
图像处理·人工智能·python·计算机视觉·影调·摄影语言
ayiya_Oese33 分钟前
[环境配置] 2. 依赖库安装
人工智能·python·深度学习·神经网络·目标检测·机器学习·计算机视觉
站大爷IP36 分钟前
FastAPI全面指南:从入门到企业级应用实战
python
CH3_CH2_CHO1 小时前
DAY01:【pytorch】张量
人工智能·pytorch·python
胖哥真不错1 小时前
Python基于OpenCV和SVM实现中文车牌识别系统GUI界面
python·opencv·支持向量机·项目实战·gui界面·中文车牌识别
安迪小宝1 小时前
python基础语法13-装饰器
开发语言·前端·python
Niuguangshuo1 小时前
Python设计模式:策略模式
python·设计模式·策略模式
Mysticbinary2 小时前
Python 迭代器和生成器概念
python·迭代器·生成器