「Python系列」Python statistics模块

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
EMR Serverless StarRocks,5000CU*H 48000GB*H
函数计算FC,每月15万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 架构模式
相关文章
|
24天前
|
XML Shell API
python ConfigParser、shutil、subprocess、ElementTree模块简解
python ConfigParser、shutil、subprocess、ElementTree模块简解
|
24天前
|
存储 算法 数据库
使用python hashlib模块给明文字符串加密,以及如何撞库破解密码
`hashlib` 是 Python 中用于实现哈希功能的模块,它可以将任意长度的输入通过哈希算法转换为固定长度的输出,即散列值。该模块主要用于字符串加密,例如将用户名和密码转换为不可逆的散列值存储,从而提高安全性。`hashlib` 提供了多种哈希算法,如 `md5`、`sha1`、`sha256` 等。
35 1
|
11天前
|
Java Serverless Python
探索Python中的并发编程与`concurrent.futures`模块
探索Python中的并发编程与`concurrent.futures`模块
15 4
|
23天前
|
API Python
python ratelimit模块
python ratelimit模块
|
23天前
|
Python
像导入Python模块一样导入ipynb文件
像导入Python模块一样导入ipynb文件
|
24天前
|
Python
如何最简单、通俗地理解Python模块?
如何最简单、通俗地理解Python模块?
|
23天前
|
算法 Python
python tarfile模块
python tarfile模块
|
24天前
|
SQL 关系型数据库 MySQL
Python之MySQL操作及Paramiko模块操作
Python之MySQL操作及Paramiko模块操作
|
24天前
|
存储 JSON JavaScript
python序列化: json & pickle & shelve 模块
python序列化: json & pickle & shelve 模块
|
23天前
|
Python
如何在 Python 中导入模块
【8月更文挑战第29天】
20 1