详解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实现simhash算法实例
Apr 25 Python
Python的Flask框架中@app.route的用法教程
Mar 31 Python
python实现在windows下操作word的方法
Apr 28 Python
Python中工作日类库Busines Holiday的介绍与使用
Jul 06 Python
详解django三种文件下载方式
Apr 06 Python
利用pandas进行大文件计数处理的方法
Jul 25 Python
Python数据结构与算法(几种排序)小结
Jun 22 Python
Python3批量生成带logo的二维码方法
Jun 24 Python
基于Python执行dos命令并获取输出的结果
Dec 30 Python
对Python中 \r, \n, \r\n的彻底理解
Mar 06 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
Oct 12 Python
Python列表元素删除和remove()方法详解
Jan 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
关于文本留言本的分页代码
2006/10/09 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
浅析php单例模式
2014/11/25 PHP
php实现跨域提交form表单的方法【2种方法】
2016/10/17 PHP
yii2实现分页,带搜索的分页功能示例
2017/01/07 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
2019/09/10 PHP
jQuery 插件 将this下的div轮番显示
2009/04/09 Javascript
js AspxButton的客户端操作
2009/06/26 Javascript
javascript 写类方式之八
2009/07/05 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
ES6小技巧之代替lodash
2019/06/07 Javascript
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
2019/08/15 Javascript
vue实现侧边栏导航效果
2019/10/21 Javascript
Vue 构造选项 - 进阶使用说明
2020/08/14 Javascript
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
python ip正则式
2009/05/07 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
消防安全检查制度
2014/02/04 职场文书
大学军训感言400字
2014/03/11 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
2019年最新感恩节祝福语(28句)
2019/11/27 职场文书
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
Python制作一个随机抽奖小工具的实现
2021/07/07 Python