详解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中的yield函数的用法
Apr 03 Python
Python实现动态加载模块、类、函数的方法分析
Jul 18 Python
python select.select模块通信全过程解析
Sep 20 Python
对pandas将dataframe中某列按照条件赋值的实例讲解
Nov 29 Python
Python实现微信消息防撤回功能的实例代码
Apr 29 Python
Django模型序列化返回自然主键值示例代码
Jun 12 Python
python解析xml简单示例
Jun 21 Python
Python拆分大型CSV文件代码实例
Oct 07 Python
Python手绘可视化工具cutecharts使用实例
Dec 05 Python
关于windows下Tensorflow和pytorch安装教程
Feb 04 Python
Django自定义列表 models字段显示方式
Apr 03 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 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
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
php生成excel列序号代码实例
2013/12/24 PHP
PHP微信分享开发详解
2017/01/14 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
jquery trim() 功能源代码
2011/02/14 Javascript
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
JavaScript打字小游戏代码
2011/12/26 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
vue 实现 rem 布局或vw 布局的方法
2019/11/13 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
Python常用内置函数总结
2015/02/08 Python
分享一下Python 开发者节省时间的10个方法
2015/10/02 Python
编写Python小程序来统计测试脚本的关键字
2016/03/12 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
详解python3中zipfile模块用法
2018/06/18 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
Python使用uuid库生成唯一标识ID
2020/02/12 Python
消防安全汇报材料
2014/02/08 职场文书
酒鬼酒广告词
2014/03/21 职场文书
联片教研活动总结
2014/07/01 职场文书
网吧消防安全责任书
2014/07/29 职场文书
农村党支部书记四风问题个人对照检查材料
2014/09/21 职场文书
热情服务标语
2014/10/07 职场文书
党风廉政教育心得体会2016
2016/01/22 职场文书
初三化学教学反思
2016/02/22 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
python如何进行基准测试
2021/04/26 Python
Python利用FlashText算法实现替换字符串
2022/03/31 Python