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() 计算数据集的分位数,可指定分位数的数量(默认为四分位数)
相关推荐
hnmpf27 分钟前
flask_sqlalchemy relationship 子表排序
后端·python·flask
疯狂学习GIS38 分钟前
互联网大中小厂实习面经:滴滴、美团、货拉拉、蔚来、信通院等
c++·python
Nobita Chen1 小时前
Python实现windows自动关机
开发语言·windows·python
码路刺客1 小时前
一学就废|Python基础碎片,OS模块
开发语言·python
z千鑫1 小时前
【Python】Python之Selenium基础教程+实战demo:提升你的测试+测试数据构造的效率!
开发语言·python·selenium
QQ27437851093 小时前
django基于Python对西安市旅游景点的分析与研究
java·后端·python·django
小团团04 小时前
Python编程中的两种主要的编程模式
开发语言·python
蹦蹦跳跳真可爱5894 小时前
Python----Python高级(函数基础,形参和实参,参数传递,全局变量和局部变量,匿名函数,递归函数,eval()函数,LEGB规则)
开发语言·python
小爬虫程序猿4 小时前
利用Python爬虫获取义乌购店铺所有商品列表:技术探索与实践
开发语言·爬虫·python
DaisyMosuki5 小时前
Cython全教程2 多种定义方式
c语言·c++·python·cython