详解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用于url解码和中文解析的小脚本(python url decoder)
Aug 11 Python
Python中用函数作为返回值和实现闭包的教程
Apr 27 Python
Python脚本实现自动将数据库备份到 Dropbox
Feb 06 Python
python消费kafka数据批量插入到es的方法
Dec 27 Python
python 实现UTC时间加减的方法
Dec 31 Python
详解python使用turtle库来画一朵花
Mar 21 Python
python使用MQTT给硬件传输图片的实现方法
May 05 Python
Python中查看变量的类型内存地址所占字节的大小
Jun 26 Python
Python3 JSON编码解码方法详解
Sep 06 Python
Django实现简单网页弹出警告代码
Nov 15 Python
Python离线安装openpyxl模块的步骤
Mar 30 Python
只用20行Python代码实现屏幕录制功能
Jun 02 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程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
原生js实现自定义消息提示框
2020/11/19 Javascript
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
举例讲解如何在Python编程中进行迭代和遍历
2016/01/19 Python
Python编程之Re模块下的函数介绍
2017/10/28 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
python打造爬虫代理池过程解析
2019/08/15 Python
pandas中ix的使用详细讲解
2020/03/09 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
django中related_name的用法说明
2020/05/20 Python
Tensorflow之MNIST CNN实现并保存、加载模型
2020/06/17 Python
如何用python批量调整视频声音
2020/12/22 Python
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
2014年中班元旦活动方案
2014/02/14 职场文书
教师作风整改措施思想汇报
2014/10/12 职场文书
协议书范文
2015/01/27 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
鲁冰花观后感
2015/06/10 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
Java实战之用Swing实现通讯录管理系统
2021/06/13 Java/Android
python中redis包操作数据库的教程
2022/04/19 Python