Python中的数学统计函数


Python 库的 statistics 模块包含用于使用数值数据类型(包括分数和十进制类型)计算统计公式的函数。

要使用本文中描述的函数,需要以下导入语句。

>>> from statistics import *

以下函数计算样本数据的集中趋势。

mean() − 此函数计算序列或迭代器形式的数据的算术平均值。

>>> from statistics import mean
>>> numbers = [12,34,21,7,56]
>>> mean(numbers)
26

样本数据可能包含 Decimal 对象或 Fraction 对象

>>> from decimal import Decimal
>>> numbers = [12,34,21,Decimal('7'),56]
>>> mean(numbers)
Decimal('26')
>>> from fractions import Fraction
>>> numbers = [12,20.55,Fraction(4,5),21,56]
>>> mean(numbers)
22.07

harmonic_mean() − 调和平均数是通过取样本数据中元素倒数的算术平均值,然后取算术平均值本身的倒数来计算的。

样本 = [1,2,3,4,5]

倒数 = [1/1, 1/2, 1/3, 1/4, 1/5] = 2.28333333333

平均数 = 2.28333333333/5 = 0. 45666666666666667

调和平均数 = 1 / 45666666666666667 = 2.189784218663093

>>> harmonic_mean([1,2,3,4,5])
2.18978102189781

median() − 中位数是样本数据的中值。数据会自动按升序排列以查找中位数。如果元素的个数为奇数,则中位数为中间值。如果个数为偶数,则两个中间数的平均数为中位数。

>>> median([2,5,4,8,6])
5
>>> median([11,33,66,55,88,22])
44.0

mode() − 此函数返回样本中最常见的值。此函数可以应用于数值或非数值数据。

>>> mode((4,7,8,4,9,7,12,4,8))
4
>>> mode(['cc','aa','dd','cc','ff','cc'])
'cc'

以下函数处理样本中元素相对于中心值的离散程度的度量。

variance() − 此函数反映样本中数据的可变性或离散程度。方差越大,数据越分散。方差越小,表示数据越集中。

以下是查找方差的过程

  • 找到样本中所有元素的算术平均值。
  • 找到平均值和每个元素之间差值的平方,并将平方相加。
  • 如果样本大小为 n,则将总和除以 n-1 以获得方差

在数学上,上述过程由以下公式表示:

$$s^2 = \frac{1}{n-1}\displaystyle\displaystyle\sum\limits_{i=1}^n(x_{i}-\overline{x})^2$$


值得庆幸的是,variance() 函数为您完成了上述公式的计算。

>>> num = [4, 9, 2, 11, 5, 22, 90, 32, 56, 70]
>>> variance(num)
981.2111111111111

stdev() − 此函数返回样本中数据的标准差。标准差是方差的平方根。

>>> num = [4, 9, 2, 11, 5, 22, 90, 32, 56, 70]
>>> stdev(num)
31.324289474960338

更新于: 2020-06-30

491 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告