详解python statistics模块及函数用法


Posted in Python onOctober 27, 2019

本节介绍 Python 中的另一个常用模块 —— statistics模块,该模块提供了用于计算数字数据的数理统计量的函数。它包含了很多函数,具体如下表:

名称 描述
mean() 数据的算术平均数(“平均数”)
harmonic_mean() 数据的调和均值
median() 数据的中位数(中间值)
median_low() 数据的低中位数
median_high() 数据的高中位数
median_grouped() 分组数据的中位数,即第50个百分点
mode() 离散的或标称的数据的单模

mean(data)函数

mean(data) 函数用于计算一组数字的平均值,参数 data 可以是多种形式的,比如 int 型数组或 decimal 型数组等。举例说明函数的具体用法:

>>> statistics.mean([1, 2, 3, 4, 5])
3
>>> from fractions import Fraction as F
>>> statistics.mean([F(4, 7), F(4, 21), F(5, 4), F(1, 4)])
Fraction(95, 168)
>>> from decimal import Decimal as D
>>> statistics.mean([D("0.5"), D("0.78"), D("0.88"), D("0.988")])
Decimal('0.787')

harmonic_mean(data)函数

调和平均数又称倒数平均数,是平均数的一种。 harmonic_mean(data) 函数用于求调和平均数,是总体各统计变量倒数的算术平均数的倒数。例如:

>>> statistics.harmonic_mean([4, 5, 7])
5.0602409638554215

median(data)函数

median(data) 函数用于计算一组数据的中值。如果数据的个数是单数,则中值是中间的数;如果数据的个数是复数,则中值是中间两个数的平均数。例如:

>>> statistics.median([1, 4, 7])
4
>>> statistics.median([1, 4, 7, 10])
5.5
median_low(data)函数
median_low(data) 函数用于计算一组数据的中小值。如果数据的个数是单数,则中小值是中间的数;如果数据的个数是复数,则中小值是中间两个数中最小的数。例如:
>>> statistics.median_low([1, 4, 7])
4
>>> statistics.median_low([1, 4, 7, 10])
4

median_high(data)函数

median_high(data) 函数用于计算一组数据的中大值。如果数据的个数是单数,则中大值是中间的数;如果数据的个数是复数,则中大值是中间两个数中最大的数。例如:

>>> statistics.median_high([1, 4, 7])
4
>>> statistics.median_high([1, 4, 7, 10])
7
median_grouped(data, interval=1)函数
median_grouped(data, interval=1) 函数用于计算分组连续数据的中位数。其中 interval 表示数据之间的间隔,即组距。此函数计算方法较复杂,可参考公式 中位数=中位数所在组下限+{[(样本总数/2-到中位数所在组下限的累加次数)/中位数所在组的次数]*中位数的组距} ,如果数据是空的会报 StatisticsError 错误。例如:
>>> statistics.median_grouped([1, 2, 2, 3, 4, 4, 4, 4, 4, 5])
3.7
>>> statistics.median_grouped([3, 4, 4, 5, 6], interval=1)
4.25
>>> statistics.median_grouped([1, 3, 5, 5, 7], interval=2)
4.5

示例说明:

[1, 2, 2, 3, 4, 4, 4, 4, 4, 5]中位数在4这个分组里面

默认组距为1

所在分组的下限为3.5

样本总数为10

4分组里有5个数

小于3.5的有4个数

所以中位数为:3.5+(10/2-4)/5*1=3.5+1/5=3.7

mode(data)函数

mode(data) 函数用于计算一组数据的众数,即在数据中出现次数最多的数。例如:

>>> statistics.mode([1, 1, 2, 3, 3, 3, 3, 4])
3
>>> statistics.mode(["red", "blue", "blue", "blue", "green", "green", "red"])
'blue'

总结

本节给大家介绍了 Python 中 statistics 模块的常用操作,在实际开发中方便对数据进行灵活的处理,对于实现数据统计的功能提供了支撑。

示例代码: Python-100-days-day043

以上所述是小编给大家介绍的详解python statistics模块及函数用法,希望对大家有所帮助!

Python 相关文章推荐
在Python中测试访问同一数据的竞争条件的方法
Apr 23 Python
Python使用Tkinter实现机器人走迷宫
Jan 22 Python
python检测主机的连通性并记录到文件的实例
Jun 21 Python
Python常用爬虫代码总结方便查询
Feb 25 Python
Python3模拟登录操作实例分析
Mar 12 Python
Python3获取拉勾网招聘信息的方法实例
Apr 03 Python
在python中实现调用可执行文件.exe的3种方法
Jul 07 Python
pytorch实现CNN卷积神经网络
Feb 19 Python
Python容器类型公共方法总结
Aug 19 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
Feb 23 Python
python 如何用urllib与服务端交互(发送和接收数据)
Mar 04 Python
python数字图像处理数据类型及颜色空间转换
Jun 28 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
Oct 27 #Python
python自动结束mysql慢查询会话的实例代码
Oct 27 #Python
python实现输入任意一个大写字母生成金字塔的示例
Oct 27 #Python
python 爬虫百度地图的信息界面的实现方法
Oct 27 #Python
python用类实现文章敏感词的过滤方法示例
Oct 27 #Python
通过字符串导入 Python 模块的方法详解
Oct 27 #Python
python实现树的深度优先遍历与广度优先遍历详解
Oct 26 #Python
You might like
php 短链接算法收集与分析
2011/12/30 PHP
解析Ubuntu下crontab命令的用法
2013/06/24 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
2019/07/26 PHP
document 和 document.all 分别什么时候用
2006/06/22 Javascript
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
2011/10/06 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
解决vue里碰到 $refs 的问题的方法
2017/07/13 Javascript
深入理解vue.js中$watch的oldvalue与newValue
2017/08/07 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
Vue解决移动端弹窗滚动穿透问题
2020/12/15 Vue.js
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
2017/07/25 Python
pycharm远程linux开发和调试代码的方法
2018/07/17 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
Flask框架模板继承实现方法分析
2019/07/31 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
浅析Python 序列化与反序列化
2020/08/05 Python
会计自我鉴定
2014/02/04 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
税务会计岗位职责
2015/04/02 职场文书
党纪处分决定书
2015/06/24 职场文书
2015新员工工作总结范文
2015/10/15 职场文书