「Python系列」Python statistics模块

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
性能测试 PTS,5000VUM额度
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: Python 的 `statistics` 模块提供了一个强大的数学统计功能集合,用于处理数值数据。这个模块提供了一些常用的统计函数,如平均值、中位数、众数、方差、标准差、偏度、峰度等。

一、Python statistics模块

Python 的 statistics 模块提供了一个强大的数学统计功能集合,用于处理数值数据。这个模块提供了一些常用的统计函数,如平均值、中位数、众数、方差、标准差、偏度、峰度等。

下面是一些 statistics 模块中常用的函数及其用法:

1. mean(data)

计算数据的算术平均值。

import statistics

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

2. median(data)

计算数据的中位数。

import statistics

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

3. mode(data)

计算数据的众数。

import statistics

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

注意,mode 函数返回的是一个 StatisticsResult 对象,它包含一个或多个众数。

4. pstdev(data, population=False)

计算数据的总体或样本标准偏差。

import statistics

data = [1, 2, 3, 4, 5]
stdev = statistics.pstdev(data, population=True)
print(stdev)  # 输出: 1.4142135623730951 (总体标准偏差)

如果 population 参数为 False,则计算样本标准偏差。

5. *variance(data, population=False)

计算数据的总体或样本方差。

import statistics

data = [1, 2, 3, 4, 5]
var = statistics.variance(data, population=True)
print(var)  # 输出: 2.0 (总体方差)

同样地,population 参数控制是计算总体方差还是样本方差。

6. skew(data)

计算数据的偏度。

import statistics

data = [1, 2, 3, 4, 5]
skewness = statistics.skew(data)
print(skewness)  # 输出偏度值

7. kurtosis(data)

计算数据的峰度。

import statistics

data = [1, 2, 3, 4, 5]
kurtosis = statistics.kurtosis(data)
print(kurtosis)  # 输出峰度值

在使用 statistics 模块时,需要注意以下几点:

  • 输入数据必须是数值类型(整数或浮点数)。
  • 对于一些函数(如 mode),如果数据中有多个众数,返回的结果可能是一个包含多个众数的对象。
  • population 参数用于区分总体和样本统计量。在大多数情况下,你应该使用样本统计量(即 population=False),除非你确实在处理整个总体数据。

8. quantile(data, quantile)

计算数据的分位数。quantile 参数是一个介于 0 和 1 之间的浮点数,表示要计算的分位数。例如,quantile(data, 0.5) 将返回数据的中位数。

import statistics

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

9. iqr(data)

计算数据的四分位距(Interquartile Range, IQR)。四分位距是第三四分位数(Q3)与第一四分位数(Q1)之间的差值,它用于衡量数据的离散程度。

import statistics

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

10. harmonic_mean(data)

计算数据的调和平均数。调和平均数通常用于计算多个速率、比率或比例的平均数。

import statistics

data = [1, 2, 3, 4, 5]
harmonic_mean = statistics.harmonic_mean(data)
print(harmonic_mean)  # 输出调和平均数

11. geometric_mean(data)

计算数据的几何平均数。几何平均数通常用于计算一系列数值的连乘结果的平均数的 n 次方根。

import statistics

data = [1, 2, 3, 4, 5]
geometric_mean = statistics.geometric_mean(data)
print(geometric_mean)  # 输出几何平均数

12. multimode(data)

这个函数返回数据集中出现次数最多的所有值,即众数。如果有多个值出现次数相同且最多,它们都会被返回。

import statistics

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

13. stdev(data, population=False)

这个函数计算数据的标准偏差。如果 population 参数为 True,则计算总体标准偏差;如果为 False(默认值),则计算样本标准偏差。

import statistics

data = [1, 2, 3, 4, 5]
sample_stdev = statistics.stdev(data)
print(sample_stdev)  # 输出样本标准偏差

14. moment(data, order)

这个函数计算数据的指定阶矩。order 参数指定了矩的阶数。例如,moment(data, 1) 计算一阶矩(即均值),moment(data, 2) 计算二阶矩(即方差)。

import statistics

data = [1, 2, 3, 4, 5]
mean = statistics.moment(data, 1)
variance = statistics.moment(data, 2)
print(mean)  # 输出均值
print(variance)  # 输出方差

15. comb(n, k)

这个函数计算组合数,即从 n 个不同项中选取 k 个项的不同方式的数目。常用于概率和统计中的组合计算。

import statistics

n = 5
k = 2
combination = statistics.comb(n, k)
print(combination)  # 输出组合数 C(5, 2)

16. pmf(data, k)

这个函数计算离散概率质量函数(Probability Mass Function, PMF)的值。它通常用于表示离散随机变量的概率分布。k 是随机变量的一个可能值。

import statistics

data = [1, 1, 2, 2, 2, 3]
k = 2
pmf_value = statistics.pmf(data, k)
print(pmf_value)  # 输出 PMF 中 k=2 对应的概率值

二、相关链接

  1. Python下载安装中心
  2. Python官网
  3. Python软件下载
  4. 「Python系列」Python简介及案例
  5. 「Python系列」Python基础语法/数据类型
  6. 「Python系列」Python解释器
  7. 「Python系列」Python运算符
  8. 「Python系列」Python数据结构
  9. 「Python系列」Python元组
  10. 「Python系列」Python集合
  11. 「Python系列」Python列表
相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
4天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
7天前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
37 5
|
10天前
|
Python
SciPy 教程 之 SciPy 模块列表 6
SciPy教程之常量模块介绍:涵盖公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率及力学单位。示例展示了角度单位转换为弧度的几个常用常量。
15 7
|
10天前
|
Python
SciPy 教程 之 SciPy 模块列表 7
`scipy.constants` 模块提供了常用的时间单位转换为秒数的功能。例如,`constants.hour` 返回 3600.0 秒,表示一小时的秒数。其他常用时间单位包括分钟、天、周、年和儒略年。
14 6
|
8天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
12 1
|
8天前
|
XML 前端开发 数据格式
超级详细的python中bs4模块详解
Beautiful Soup 是一个用于从网页中抓取数据的 Python 库,提供了简单易用的函数来处理导航、搜索和修改分析树。支持多种解析器,如 Python 标准库中的 HTML 解析器和更强大的 lxml 解析器。通过简单的代码即可实现复杂的数据抓取任务。本文介绍了 Beautiful Soup 的安装、基本使用、对象类型、文档树遍历和搜索方法,以及 CSS 选择器的使用。
22 1
|
9天前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
10 1
|
9天前
|
Python
SciPy 教程 之 SciPy 模块列表 8
SciPy教程之常量模块单位类型介绍。该模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例展示了部分长度单位的转换值,例如英寸、英尺、海里等。
12 1
|
11天前
|
知识图谱 Python
SciPy 教程 之 SciPy 模块列表 5
本教程介绍SciPy常量模块中的单位类型,涵盖公制、质量、时间、长度等单位。示例代码展示了如何使用`scipy.constants`模块获取不同质量单位的千克值,如公吨、磅、盎司、原子质量单位等。
11 1
|
5天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
10 0