详解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中实现贪婪排名算法的教程
Apr 17 Python
使用Python设置tmpfs来加速项目的教程
Apr 17 Python
自己使用总结Python程序代码片段
Jun 02 Python
Python Numpy 数组的初始化和基本操作
Mar 13 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
python用类实现文章敏感词的过滤方法示例
Oct 27 Python
详解Python3 中的字符串格式化语法
Jan 15 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
使用Keras预训练好的模型进行目标类别预测详解
Jun 27 Python
Python利用matplotlib绘制散点图的新手教程
Nov 05 Python
详解Python GUI编程之PyQt5入门到实战
Dec 10 Python
Selenium浏览器自动化如何上传文件
Apr 06 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 阴历-农历-转换类代码
2012/01/16 PHP
php采用ajax数据提交post与post常见方法总结
2014/11/10 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
33道php常见面试题及答案
2015/07/06 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
Laravel5中防止XSS跨站攻击的方法
2016/10/10 PHP
让回调函数 showResponse 也带上参数的代码
2007/08/13 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
jquery ajax中使用jsonp的限制解决方法
2013/11/22 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
Angular4开发解决跨域问题详解
2017/08/28 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
浏览器调试动态js脚本的方法(图解)
2018/01/19 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
JavaScript引用类型Function实例详解
2018/08/09 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
JavaScript函数柯里化实现原理及过程
2020/12/02 Javascript
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
对Tensorflow中Device实例的生成和管理详解
2020/02/04 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
2016/11/21 HTML / CSS
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
文明青少年标兵事迹材料
2014/01/28 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
安全温馨提示语大全
2015/07/14 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android