详解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的框架中为MySQL实现restful接口的教程
Apr 08 Python
python打开url并按指定块读取网页内容的方法
Apr 29 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
Sep 18 Python
一步步教你用Python实现2048小游戏
Jan 19 Python
python获取当前目录路径和上级路径的实例
Apr 26 Python
Python在Matplotlib图中显示中文字体的操作方法
Jul 29 Python
浅析Python语言自带的数据结构有哪些
Aug 27 Python
解决python 上传图片限制格式问题
Oct 30 Python
python实现飞机大战游戏(pygame版)
Oct 26 Python
使用Keras预训练模型ResNet50进行图像分类方式
May 23 Python
OpenCV+python实现膨胀和腐蚀的示例
Dec 21 Python
Python尝试实现蒙特卡罗模拟期权定价
Apr 21 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 cache类代码(php数据缓存类)
2010/04/15 PHP
在PHP中使用curl_init函数的说明
2010/11/02 PHP
php与paypal整合方法
2010/11/28 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
php 查找数组元素提高效率的方法详解
2017/05/05 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
php自动加载代码实例详解
2021/02/26 PHP
让人印象深刻的10个jQuery手风琴效果应用
2012/05/08 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
原生js实现对Ajax的封装(仿jquery)
2017/01/22 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
js实现手机发送验证码功能
2017/03/13 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
关于react-router的几种配置方式详解
2017/07/24 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
JS实现HTML页面中动态显示当前时间完整示例
2018/07/30 Javascript
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
[04:28]2014DOTA2国际邀请赛 采访小兔子LGD挺进钥匙体育馆
2014/07/14 DOTA
Python3实现连接SQLite数据库的方法
2014/08/23 Python
Python时间的精准正则匹配方法分析
2017/08/17 Python
python和flask中返回JSON数据的方法
2018/03/26 Python
利用Python代码实现一键抠背景功能
2019/12/29 Python
python如何使用Redis构建分布式锁
2020/01/16 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
联想西班牙官网:Lenovo西班牙
2018/08/28 全球购物
什么是servlet
2012/05/08 面试题
学校食堂采购员岗位职责
2013/12/05 职场文书
员工拾金不昧表扬信
2014/01/09 职场文书
《桃花心木》教学反思
2014/02/17 职场文书
星级党支部申报材料
2014/05/31 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
2015公务员年度考核评语
2015/03/25 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
V Rising 服务器搭建图文教程
2022/06/16 Servers