Python中的数学统计功能

Python库的统计模块包括使用数字数据类型(包括小数和小数类型)计算统计公式的函数。

要使用本文中描述的功能,需要以下import语句。

>>> from statistics import *

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

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

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

样本数据可能包含小数对象或分数对象

>>> 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

谐波_平均值() -谐波平均值的计算方法是:取样本数据中元素的倒数的算术平均值,然后取算术平均值本身的倒数。

样本= [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([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