详解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小程序
Aug 15 Python
python sort、sorted高级排序技巧
Nov 21 Python
python读取word文档的方法
May 09 Python
python3 selenium 切换窗口的几种方法小结
May 21 Python
python对视频画框标记后保存的方法
Dec 07 Python
python实现五子棋程序
Apr 24 Python
查看keras各种网络结构各层的名字方式
Jun 11 Python
Python如何实现后端自定义认证并实现多条件登陆
Jun 22 Python
常用的10个Python实用小技巧
Aug 10 Python
Pycharm操作Git及GitHub的步骤详解
Oct 27 Python
python如何写个俄罗斯方块
Nov 06 Python
Python内置包对JSON文件数据进行编码和解码
Apr 12 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 json_encode奇怪问题说明
2011/09/27 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
使用WAMP搭建PHP本地开发环境
2017/05/10 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
JS获取计算机mac地址以及IP的实现方法
2014/01/08 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
js创建表单元素并使用submit进行提交
2014/08/14 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
2014/12/29 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
使用微信SDK自定义分享的方法
2019/07/03 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
win10系统中安装scrapy-1.1
2016/07/03 Python
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
Python绘制热力图示例
2019/09/27 Python
keras中的backend.clip用法
2020/05/22 Python
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
澳大利亚领先的在线礼品网站:Gifts Australia
2020/08/15 全球购物
办公室副主任岗位职责
2013/11/25 职场文书
日语专业个人的求职信
2013/12/03 职场文书
校园招聘策划书
2014/01/09 职场文书
环保志愿者活动方案
2014/08/14 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
2015年班长个人工作总结
2015/04/03 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技