本节介绍 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 statistics模块及函数用法

本文地址: http://www.cppcns.com/jiaoben/python/282817.html

python中的statistics_详解python statistics模块及函数用法相关推荐

  1. python的抽象类详解_第7.19节 Python中的抽象类详解:abstractmethod、abc与真实子类...

    第7.19节 Python中的抽象类详解:abstractmethod.abc与真实子类 一. 引言 前面相关的章节已经介绍过,Python中定义某种类型是以实现了该类型对应的协议为标准的,而不是以继 ...

  2. python中的字符串详解(附实现文字跑马灯效果)

    python中的字符串详解 1.什么是字符串 ​ 相信大家对字符串应该是再熟悉不过了吧,因为日常生活中的一句话,或是路边的一则广告,其实它都相当于一个字符串,而顾名思义,字符串也就是一串串的由零个或多 ...

  3. python中的GIL详解

    python中的GIL详解 参考Python-- GIL 锁简述 GIL是什么 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念.就 ...

  4. python操作目录_详解python中的文件与目录操作

    详解python中的文件与目录操作 一 获得当前路径 1.代码1 >>>import os >>>print('Current directory is ',os. ...

  5. python xlrd安装_详解python中xlrd包的安装与处理Excel表格

    一.安装xlrd 地址 下载后,使用 pip install .whl安装即好. 查看帮助: >>> import xlrd >>> help(xlrd) Help ...

  6. python判断字符串合法,详解Python判定IP地址合法性的三种方法 python中判断一个字符串是否是IP地址...

    html 中 鼠标放在标签上会显示小手状,其它标签在其他标签上,美工给加了一些样式,鼠标放上去也显示小手状.有哪位大手状样式 有什么不懂的前端问题可以去菜鸟驿站.全都是泡沫,只一刹的花火,所谓的友情, ...

  7. python gil 解除_详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案

    先看一道GIL面试题: 描述Python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因. GIL:又叫全局解 ...

  8. Python基石 | Python中的数据结构详解

    概述 在深入研究数据科学和模型构建之前,Python中的数据结构是一个需要学习的关键内容 了解Python提供的不同数据结构,包括列表.元组等 介绍 数据结构听起来是一个非常直截了当的话题,但许多数据 ...

  9. [转载] Python中字符串切片详解

    参考链接: Python中的字符串切片 在python中,我们定义好一个字符串,如下所示. s = 'abcdefghijklmnop' 在python中定义个字符串然后把它赋值给一个变量.我们可以通 ...

  10. python异步框架twisted_详解Python的Twisted框架中reactor事件管理器的用法

    铺垫在大量的实践中,似乎我们总是通过类似的方式来使用异步编程: 监听事件 事件发生执行对应的回调函数 回调完成(可能产生新的事件添加进监听队列) 回到1,监听事件 因此我们将这样的异步模式称为Reac ...

最新文章

  1. 报错解决:cp: error while loading shared libraries: libc.so.6: cannot open shared object file: No such fi
  2. echarts一次渲染两个图_一次 Flutter WebView 性能优化
  3. jquery.ajax
  4. Linux引到过程与服务控制
  5. 光流 | 金字塔迭代(Iterative Pyramidal)LK光流算法(Matlab源代码)
  6. LeetCode 483. 最小好进制(二分查找)
  7. 认识Spring核心容器IoC/DI
  8. Pytorch基础(三)数据集加载及预处理
  9. 新答尔科撒顿工业机器人_工业机器人谐波轴承使用寿命是多长?国产迎来新突破,大大延长...
  10. asp.net Coolite 学习
  11. 第二季-专题18-网卡搭建新通道
  12. [译] A Neural Algorithm of Artistic Style--图片风格化
  13. Tarjan 算法解决 LCA 问题
  14. C语言学习—运算符—“~”取反符号的理解
  15. 网页版视频监控系统完整版
  16. android手机向电脑传输文件,手机怎么用数据线连接电脑传输文件
  17. 无法安装64位版本的Office,因为在您的PC上找到了以下32位程序……解决办法
  18. 本人做了5年Java,直到2018年11月中旬我通过学习拿到年薪80w
  19. 6s126发邮件服务器错误,iphone6s的邮件设置教程
  20. 2021-03-26:给定一个正整数N,表示有N份青草统一堆放在仓库里。有一只牛和一只羊,牛先吃,羊后吃,它俩轮流吃草。 不管是牛还是羊,每一轮能吃的草量必须是:1,4,16,64…(4的某次方)。谁

热门文章

  1. snipaste怎么滚动截长图_还在用老方法截长图?分享iPhone滚动截屏方法,无需拼接1秒出图...
  2. 面向对象编程三大特性------封装、继承、多态
  3. 性能优化大牛 Brendan Gregg 的新书要来了
  4. Listen1 - 让你畅享全网音乐!你值得拥有!
  5. mPush实战笔记5安装alloc服务
  6. CAN学习笔记二:OSEK NM 学习
  7. MINGW里面没有mingw32 make.exe
  8. 群晖python导股票数据_群晖系统中运行python爬虫程序
  9. vue 全年日历显示并且日期批量选择
  10. cad快看_有石CAD自动下单排版软件,让你的CAD都比别人强!