详解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通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
Python获取邮件地址的方法
Jul 10 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
May 11 Python
利用 python 对目录下的文件进行过滤删除
Dec 27 Python
pyqt5 QProgressBar清空进度条的实例
Jun 21 Python
Python Web框架之Django框架cookie和session用法分析
Aug 16 Python
python 中的[:-1]和[::-1]的具体使用
Feb 13 Python
numpy的Fancy Indexing和array比较详解
Jun 11 Python
python工具——Mimesis的简单使用教程
Jan 16 Python
python中四舍五入的正确打开方式
Jan 18 Python
解决Pyinstaller打包软件失败的一个坑
Mar 04 Python
Python批量解压&压缩文件夹的示例代码
Apr 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
一个高ai的分页函数和一个url函数
2006/10/09 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
php cURL和Rolling cURL并发方式比较
2013/10/30 PHP
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
js局部刷新页面时间具体实现
2013/07/04 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
解决Vue打包之后文件路径出错的问题
2018/03/06 Javascript
jQuery实现简单评论区功能
2020/10/26 jQuery
JS模拟实现京东快递单号查询
2020/11/30 Javascript
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
wxPython中listbox用法实例详解
2015/06/01 Python
Python 搭建Web站点之Web服务器与Web框架
2016/11/06 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
佳能英国官方网站:Canon UK
2017/08/08 全球购物
请解释virtual关键字的含义
2015/06/17 面试题
vue实现倒计时功能
2021/03/24 Vue.js
时尚休闲吧创业计划书
2014/01/25 职场文书
打架检讨书500字
2014/01/29 职场文书
工程负责人任命书
2014/06/06 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
后勤工作个人总结
2015/02/28 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis
Python中的嵌套循环详情
2022/03/23 Python
TV动画《史上最强大魔王转生为村民A》番宣CM公布
2022/04/01 日漫