详解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中死锁的形成示例及死锁情况的防止
Jun 14 Python
Python随机读取文件实现实例
May 25 Python
Python实现matplotlib显示中文的方法详解
Feb 06 Python
Python3 replace()函数使用方法
Mar 19 Python
详解python校验SQL脚本命名规则
Mar 22 Python
Python多线程模块Threading用法示例小结
Nov 09 Python
python/Matplotlib绘制复变函数图像教程
Nov 21 Python
Python的几种主动结束程序方式
Nov 22 Python
python清空命令行方式
Jan 13 Python
TensorFlow基本的常量、变量和运算操作详解
Feb 03 Python
python序列类型种类详解
Feb 26 Python
Python 恐龙跑跑小游戏实现流程
Feb 15 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
javascript,php获取函数参数对象的代码
2011/02/03 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
js获取url参数的使用扩展实例
2007/12/29 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
javascript实现下雨效果
2017/03/27 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
Python 文件重命名工具代码
2009/07/26 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
Python中int()函数的用法浅析
2017/10/17 Python
python web基础之加载静态文件实例
2018/03/20 Python
python微信公众号开发简单流程
2018/03/23 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
Tensorflow读取并输出已保存模型的权重数值方式
2020/01/04 Python
Pandas —— resample()重采样和asfreq()频度转换方式
2020/02/26 Python
Python进行统计建模
2020/08/10 Python
W Concept美国:精选全球独立设计师
2017/02/22 全球购物
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
武汉某公司的C#笔试题面试题
2015/12/25 面试题
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
自我鉴定书
2014/03/24 职场文书
Python3 如何开启自带http服务
2021/05/18 Python
Python实现PIL图像处理库绘制国际象棋棋盘
2021/07/16 Python
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技
Java实现带图形界面的聊天程序
2022/06/10 Java/Android