Python 的 statistics 模块是一个内置模块,提供了用于计算基本统计数据的函数,包括均值、中位数、方差等。这个模块适用于简单的统计分析,能够处理数值数据并返回相应的统计信息。

目录

  1. 概述
  2. 常用函数
  3. 统计计算示例
  4. 高级统计功能
  5. 参考资料

1. 概述

statistics 模块是 Python 内置的一个统计模块,用于执行常见的统计计算。它可以操作列表、元组等数据结构,并支持多个类型的统计计算,广泛应用于数据分析、机器学习、金融分析等领域。

常见统计计算:

  • 均值(mean):数据的算术平均值。
  • 中位数(median):将数据按大小排列后的中间值。
  • 众数(mode):数据中出现次数最多的值。
  • 方差(variance):数据的离散程度。
  • 标准差(stdev):方差的平方根,反映数据的分散情况。

2. 常用函数

2.1 mean()

返回数据的算术平均值。

import statistics

data = [1, 2, 3, 4, 5]
mean_value = statistics.mean(data)
print(mean_value)  # 输出: 3

2.2 median()

返回数据的中位数,数据按大小排序后位于中间的值。

import statistics

data = [1, 2, 3, 4, 5]
median_value = statistics.median(data)
print(median_value)  # 输出: 3

2.3 mode()

返回数据中出现次数最多的值,如果有多个众数,则会抛出 StatisticsError 异常。

import statistics

data = [1, 2, 2, 3, 4]
mode_value = statistics.mode(data)
print(mode_value)  # 输出: 2

2.4 variance()stdev()

  • variance():返回数据的方差。
  • stdev():返回数据的标准差。

方差和标准差用于衡量数据的离散程度。标准差的值越大,数据的波动性越强。

import statistics

data = [1, 2, 3, 4, 5]
variance_value = statistics.variance(data)
stdev_value = statistics.stdev(data)

print(variance_value)  # 输出: 2.5
print(stdev_value)     # 输出: 1.5811388300841898

2.5 pvariance()pstdev()

  • pvariance():返回总体方差(假设数据为总体数据,而非样本数据)。
  • pstdev():返回总体标准差。
import statistics

data = [1, 2, 3, 4, 5]
pvariance_value = statistics.pvariance(data)
pstdev_value = statistics.pstdev(data)

print(pvariance_value)  # 输出: 2.0
print(pstdev_value)     # 输出: 1.4142135623730951


3. 统计计算示例

3.1 数据集合的基本统计

import statistics

data = [15, 20, 35, 40, 50]

mean_value = statistics.mean(data)
median_value = statistics.median(data)
mode_value = statistics.mode(data) if len(set(data)) == len(data) else None
variance_value = statistics.variance(data)
stdev_value = statistics.stdev(data)

print(f"Mean: {mean_value}")
print(f"Median: {median_value}")
print(f"Mode: {mode_value}")
print(f"Variance: {variance_value}")
print(f"Standard Deviation: {stdev_value}")

输出:

Mean: 32.0
Median: 35
Mode: None
Variance: 175
Standard Deviation: 13.228756555322953


4. 高级统计功能

4.1 quantiles()

quantiles() 返回数据的分位数,例如四分位数。

import statistics

data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
quantiles_value = statistics.quantiles(data, n=4)  # 计算四分位数
print(quantiles_value)  # 输出: [3.0, 5.5, 8.0]

4.2 harmonic_mean()

计算数据的调和平均值。调和平均值常用于分析速度、时间等反向数据。

import statistics

data = [1, 2, 3, 4, 5]
harmonic_mean_value = statistics.harmonic_mean(data)
print(harmonic_mean_value)  # 输出: 2.1897810218978103

4.3 geometric_mean()

计算数据的几何平均值,通常用于金融领域中。

import statistics

data = [1, 2, 3, 4, 5]
geometric_mean_value = statistics.geometric_mean(data)
print(geometric_mean_value)  # 输出: 2.605171084697352


5. 参考资料

出站链接

站内链接


statistics 模块为数据分析提供了强大的基本统计计算功能,适用于需要处理小规模数据集的情况。通过掌握这些函数,你可以轻松实现均值、中位数、标准差等常见统计任务,从而为进一步的分析或机器学习建模打下基础。