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