详解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 subprocess模块学习总结
Mar 13 Python
对于Python的框架中一些会话程序的管理
Apr 20 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
Jun 29 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
Oct 20 Python
python求解数组中两个字符串的最小距离
Sep 27 Python
Python实现统计英文文章词频的方法分析
Jan 28 Python
Python实现图片转字符画的代码实例
Feb 22 Python
Python PIL读取的图像发生自动旋转的实现方法
Jul 05 Python
Python基础之字符串操作常用函数集合
Feb 09 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
Apr 21 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
Jun 03 Python
Python爬虫获取页面所有URL链接过程详解
Jun 04 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框架的性能
2008/01/10 PHP
php 静态化实现代码
2009/03/20 PHP
PHP获取当前url的具体方法全面解析
2013/11/26 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
百度地图自定义控件分享
2015/03/04 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
Node.js 多线程完全指南总结
2019/03/27 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
[01:00:35]2018DOTA2亚洲邀请赛3月30日B组 EffcetVSMineski
2018/03/31 DOTA
Python对象体系深入分析
2014/10/28 Python
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
使用python实现多维数据降维操作
2020/02/24 Python
日本最大的眼镜购物网站:Oh My Glasses
2016/11/13 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
酒店管理自荐信
2013/10/23 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
个人年底工作总结
2015/03/10 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
儿子满月酒致辞
2015/07/29 职场文书
情人节单身感言
2015/08/03 职场文书
妇产科护理心得体会
2016/01/22 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python