当前位置: 首页 > news >正文

【Python】Python求均值、中值和众数

Python求均值、中值和众数

我们将讨论如何使用描述性统计数据进行数据分析,包括:

均值——一组值的平均值;
中值——当所有值按顺序排列时的中间值;
众数——最常出现的值。
以上这些都是集中趋势度量,每种都会产生一个值来表示一组值中的“中心”值,或者说,在某种意义上是这组值中的典型值。

我们来计算一个整数列表的均值、中值和众数。下面的代码段创建一个名为grades的列表,然后使用内置的sum和len函数来“手动”计算平均值——sum计算grade的总和(397),len计算grade的个数(5):

grades = [85, 93, 45, 89, 85]

sum(grades) / len(grades)

与函数min和max 类似,sum和len都是函数式编程中约简的示例,它们会将值合集减少为单个值——值的总和与值的数量。

Python标准库的statistics模块提供了计算均值、中值和众数的函数,这些同样也是约简。要使用这些功能,首先需要导入statistics模块,如下:

import statistics

然后,可以使用“statistics.”加上需要调用的函数名称来访问模块的功能。下面的代码使用statistics模块的mean、median和mode函数分别计算列表grades的均值(79.4)、中值(85)和众数(85):

statistics.mean(grades)

statistics.median(grades)

statistics.mode(grades)

其中,每个函数的参数都必须是可迭代的,在本例中为列表grades。要确认中值和众数是否正确,可以使用内置的sorted函数来得到列表grades按值的递增顺序排列的副本:

sorted(grades)

结果:

[45, 85, 85, 89, 93]

列表grades具有奇数个值(5),因此median返回中间值(85)。如果列表包含偶数个值,则median会返回两个中间值的平均值。从排好序的列表可以看到85是众数,因为它出现的次数最多(两次)。类似于下面的列表会导致mode函数产生一个StatisticsError:

[85, 93, 45, 89, 85, 93]

因为其中有两个或更多个“出现最多”的值。这样的一组值是双峰的,85和93都出现了两次。

http://www.lryc.cn/news/194958.html

相关文章:

  • NPM 常用命令(十二)
  • 数据在内存中的存储(2)
  • 软件工程与计算总结(十三)详细设计中的模块化与信息隐藏
  • RF学习——器件的非线性失真分析
  • SUB-1G SOC芯片DP4306F 32 位 ARM Cortex-M0+内核替代CMT2380F32
  • 接收请求地址下载并输出文件流实现
  • 【iOS】——用单例类封装网络请求
  • 再学Blazor——概述
  • Ceph运维笔记
  • RTSP协议
  • Maven系列第6篇:生命周期和插件详解?
  • 【通义千问】大模型Qwen GitHub开源工程学习笔记(4)-- 模型的量化与离线部署
  • 2022最新版-李宏毅机器学习深度学习课程-P23 为什么用了验证集结果还是过拟合
  • Spring Cloud Alibaba—Sentinel 控制台安装
  • 基于动物迁徙优化的BP神经网络(分类应用) - 附代码
  • 一键搞定!黑群晖虚拟机+内网穿透实现校园公网访问攻略!
  • 【C语言】——通讯录(静态-动态增长-文件储存)
  • win10安装nginx及简单使用(命令)
  • 【农业生产系统模型】基于R语言APSIM模型进阶应用与参数优化、批量模拟实践技术
  • 金融数学方法:梯度下降法
  • 1031 查验身份证
  • 如何共享 Android 不同模块的构建配置
  • atlas运维中遇到的问题
  • 06-React的路由
  • 虹科方案 | 加州理工学院利用HK-TrueNAS开展地震研究
  • 宝塔面板部署express以及MySql项目
  • 联盟链学习笔记-网络的创建
  • System.Drawing.Common.Bitmap跨平台的替代方案
  • 深入理解 Java 泛型
  • 【基础篇】七、Flink核心概念