详解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 25 Python
python基础教程之基本数据类型和变量声明介绍
Aug 29 Python
python smtplib模块自动收发邮件功能(二)
May 22 Python
PyTorch CNN实战之MNIST手写数字识别示例
May 29 Python
python 批量修改/替换数据的实例
Jul 25 Python
基于python3实现socket文件传输和校验
Jul 28 Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 Python
Python通用循环的构造方法实例分析
Dec 19 Python
Python线上环境使用日志的及配置文件
Jul 28 Python
Python程序暂停的正常处理方法
Nov 07 Python
pytorch 实现删除tensor中的指定行列
Jan 13 Python
Django crontab定时任务模块操作方法解析
Sep 10 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
一个SQL管理员的web接口
2006/10/09 PHP
php实现mysql同步的实现方法
2009/10/21 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
基于vue-upload-component封装一个图片上传组件的示例
2018/10/16 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
javascript for循环性能测试示例
2019/08/07 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
Python的Django框架中的表单处理示例
2015/07/17 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
2019/06/27 Python
Python 经典算法100及解析(小结)
2019/09/13 Python
详解基于python的全局与局部序列比对的实现(DNA)
2020/10/07 Python
CSS3实现精美横向滚动菜单按钮
2017/04/14 HTML / CSS
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
静态变量和实例变量的区别
2015/07/07 面试题
工作交流会欢迎词
2014/01/12 职场文书
2014年机关植树节活动方案
2014/02/27 职场文书
副乡长民主生活会个人对照检查材料思想汇报
2014/10/01 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
2014年信息技术工作总结
2014/12/16 职场文书
论文答谢词
2015/01/20 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
Python编解码问题及文本文件处理方法详解
2021/06/20 Python