详解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中获取网页状态码的两个方法
Nov 03 Python
在Python的Tornado框架中实现简单的在线代理的教程
May 02 Python
简单讲解Python中的字符串与字符串的输入输出
Mar 13 Python
Python实现网站注册验证码生成类
Jun 08 Python
Python 基础教程之str和repr的详解
Aug 20 Python
python图书管理系统
Apr 05 Python
tensorflow学习笔记之mnist的卷积神经网络实例
Apr 15 Python
python3实现字符串的全排列的方法(无重复字符)
Jul 07 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 Python
Tensorflow实现多GPU并行方式
Feb 03 Python
PyCharm 光标变成黑块的解决方式
Feb 06 Python
Django模型层实现多表关系创建和多表操作
Jul 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对象Object的概念 介绍
2012/06/14 PHP
PHP关联链接常用代码
2012/11/05 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
js排序与重组的实例讲解
2017/08/28 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
python为tornado添加recaptcha验证码功能
2014/02/26 Python
python使用any判断一个对象是否为空的方法
2014/11/19 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
Proenza Schouler官方网站:纽约女装和配饰品牌
2019/01/03 全球购物
中年人生感言
2014/02/04 职场文书
预备党员转正考核材料
2014/06/03 职场文书
空气环保标语
2014/06/12 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
2019初中学生入团申请书
2019/06/27 职场文书
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android