「Python数据分析」Pandas进阶,使用groupby分组聚合数据(一)

news2024/11/15 10:13:36

在数据分析过程中,groupby语句,起到对原始数据集,进行分组和聚合的作用。我们在进行数据处理的时候,经常需要对不同的数据维度,以及不同的数据切片集合,进行操作和处理。

比如说,假设我们有全国人口数据集,而我们分析数据的时候,关注的主要问题是,不同省份之间,人们的平均身高是个什么情况。

对于这样的数据分析问题,我们就需要先通过省份列,对数据集进行分组。在分组完成之后,获取每个组的身高列,然后通过计算平均值的聚合函数,对分组后的数据集进行聚合。这样,我们就能够得到,不同省份,人们的平均身高数据。

在pandas中,groupby语句遵循的是拆分,应用,组合的过程。

拆分,是按照一些业务逻辑规则,也就是我们需要分析的问题点,把数据集拆分到不同的组。

应用,则是在这些不同的组之间,独立进行操作和计算。

组合,是把操作和计算完成后的数据,重新形成一个我们所需要的结果数据集。

将对象拆分为组

我们可以按照不同的列,将原始数据集,通过groupby语句,拆分为一个需要操作的对象。

生成原始数据集

我们这里,需要通过class列,对数据集speeds进行分组。

注意,分组完成后的结果,是一个GroupBy对象。

我们也可以通过不同的列,以及两个列的组合,来对数据集进行分组。

这里,重新生成一个数据集

通过A列,B列,以及AB列的组合来对数据集进行分组

通过以上操作,我们就完成了对原始数据集的拆分过程。

分组数据的排序和聚合

对数据集分组完成后,我们就需要在分组后的对象上,运用一些操作,比如说,排序和聚合操作。

我们用一个新的数据集

然后,通过X列进行分组,分组完成后,对数据进行求和操作。

还可以对求和后的分组数据,进行升序,或者是降序的排列操作

其实,上面的求和操作,就是数据的聚合操作。也就是说,按照X列分组后,得到A和B两个组,再对A和B两个组,分别进行求和,最后得到我们需要的结果集。

多数据标签的分组操作

如果我们的数据主键,也就是数据标签,是复合的多数据标签的话,分组的过程略有差异。

我们来看一个例子

如果要通过数据标签first进行分组,并且求和的话,需要设置level=0

也可以用数据标签名称来实现操作

如果要对多数据标签进行分组求和的话,比如说用first和second两列来进行分组,则需要有三列数据标签。

我们先生成三列数据标签的数据集

通过first和second两列分组,并且求和

这个过程稍微有些复杂,分组是通过first和second两列进行的,求和是通过第三个数据标签,也就是third数据标签列进行求和的。

数据标签和普通列的分组操作

有些时候,我们需要同时选择一个数据标签和一个普通列进行分组操作,这个过程的实现方式如下。

生成原始数据集

选择second列和A列进行分组,并且求和

也可以通过数据标签列名来实现

这里要注意,主键的数据标签列,是用level属性来定义,普通列,则是通过双引号来定义。

如果嫌麻烦的话,则可以通过一个列表来定义需要参与分组的组合列。

上面三种方式,大家可以在实践中,灵活选择一种就行。

以上就是我们的第一部分内容,下一篇文章,我们继续讲解第二部分内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2101647.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

零基础国产GD32单片机编程入门(十二)FreeRTOS实时操作系统移植含源码

文章目录 一.概要二.什么是实时操作系统三.FreeRTOS的特性四.FreeRTOS的任务详解1.任务函数定义2.任务的创建3.任务的调度原理 五.FreeRTOS系统移植到GD32F103C8T6单片机1.硬件准备2.程序移植3.调试FreeRTOS任务调度 六.工程源代码下载七.小结 一.概要 FreeRTOS是一个迷你的实…

海外直播对网速、带宽、安全的要求

要满足海外直播的要求,需要拥有合适的网络配置。在全球化的浪潮下,海外直播正逐渐成为企业、个人和各类组织的重要工具。不论是用于市场推广、品牌宣传,还是与观众互动,海外直播都为参与者带来了丰富的机会。然而,确保…

KTH2502 系列车规数字锁存霍尔效应传感器

KTH2502 采用了先进的斩波技术,集成了温度补偿电路和过流、负压保护电路,具有卓越的灵敏度和温度稳定 性。磁场通过数字双极锁存器输出指示。该芯片具有开漏输出级以及 30mA 的灌电流能力。 2.7~32 V 的宽电压工 作范围,反极性保护高达 -22…

渗透测试靶机--- DC系列 DC-9

渗透测试靶机— DC系列 DC-9 开启靶机,依旧登录窗,平平无奇 扫描信息 访问页面看看 页面中存在查询接口,这里页面输入的内容是get请求,可以尝试sql注入,如果是post请求,那么抓包。将请求体放入sqlmap跑一下…

太速科技-基于Kintex-7 XC7K160T 的CameraLink转四路光纤数据转发卡(Full Camera Link图像转万兆以太网适配器 )

基于Kintex-7 XC7K160T 的CameraLink转四路光纤数据转发卡(Full Camera Link图像转万兆以太网适配器 ) 一、板卡概述 该板卡是一款CameraLink(Full)转4路光纤接口板,可以实现1路CamerLink Full模式的图像信号转换成…

Druid未授权访问解决

Druid未授权访问原因分析 漏洞说明:Druid由阿里巴巴数据库出品,为监控而生的数据库连接池,并且Druid可以提供监控,监控SQL的执行时间、监控Web URI的请求、Session监控等功能,使用广泛。 需要明确: Druid…

物联网(IoT)支持的小型水处理厂实时硬件在环(HIL)仿真

这篇论文的标题是《Real-Time Hardware-In-The-Loop Simulation of IoT-Enabled Mini Water Treatment Plant》,作者是 Mohamad Taib Miskon 等人,发表在 2024 年 IEEE 自动控制与智能系统国际会议(I2CACIS)上。以下是该论文的主要…

搭建 xxl-job 调度中心

文章目录 1、初始化“调度数据库”2、修改“调度中心”配置3、打包运行”调度中心“ 1、初始化“调度数据库” 请下载项目源码并解压,获取 “调度数据库初始化SQL脚本” 并执行即可。 “调度数据库初始化SQL脚本” 位置为:/xxl-job/doc/db/tables_xxl_j…

微服务日常总结

1.当我们在开发中,需要连接多个库时,可以在yml中进行配置。 当在查询的时候,跨库时,需要通过DS 注解来指定,需要yml配置需要保持一致。 2. 当我们想把数据存入到clob类型中,需要再字段 的占位符后面加上j…

鸢尾花书实践和知识记录[数学要素3-1万物皆数]

章节框图 文章目录 本章用到的函数使用math库来打印出一些常用的值判断奇数偶数两数加减产生序列矩阵向量的表示:取数组矩阵元素的方法streamlit的绘图矩阵的一般类型构造二维矩阵矩阵的加和运算 本章用到的函数 复数和自然数 使用math库来打印出一些常用的值 i…

多表查询_关联查询

inner join:通常关联项on后面的是主外键,两个表都有的才显示 left join:左连,select * from S left join B on s.字段 B.字段,一定会将左边表的数据全部查询出来 right join:select * from S right join B on s.字段 B.字段一定会将右边表的…

Unity面向对象补全计划 之 List<T>与class(非基础)

C# & Unity 面向对象补全计划 泛型-CSDN博客 关于List,其本质就是C#封装好的一个数组,是一个很好用的轮子,所以并不需要什么特别说明 问题描述 假设我们有一个表示学生的类 Student,每个学生有姓名和年龄两个属性。我们需要创…

Git学习尚硅谷(002 git常用命令)

尚硅谷Git入门到精通全套教程(涵盖GitHub\Gitee码云\GitLab) 总时长 4:52:00 共45P 此文章包含第8p-第p15的内容 文章目录 git常用命令设置用户签名初始化本地库查看本地库状态添加暂存区提交本地库日志查看修改文件版本穿梭 git常用命令 设置用户签名…

视频集中存储智能边缘计算网关软硬一体机智能边缘计算网关应用场景

在信息化飞速发展的今天,数据处理的速度和效率直接影响到各行各业的运作和发展。传统的云计算模式虽然强大,但在面对实时性和带宽要求越来越高的应用场景时,往往显得力不从心。此时,智能边缘计算网关的出现,为我们带来…

源代码怎么加密防泄漏?9种方法教会你

想做源代码加密防止泄漏,首先要了解程序员可以通过哪些方式将源代码传输出去! 程序员泄密的常见方式 物理方法: — 网线直连,即把网线从墙上插头拔下来,然后和一个非受控电脑直连; — winPE启动,通过光盘…

pikachu文件包含漏洞靶场攻略

1.File inclusion(local)(本地文件包含) 步骤一:选择一个球员提交 步骤二:filename后面输入../../../../shw.php访问php文件 2.File Inclusion(remote)(远程文件包含) 步骤一:修改配置 远程包…

网吧业务安全对抗(有源码)

网吧业务竞争激烈,网吧都会有以下系统软件。 无盘: 无盘是指没有硬盘。好处是统一维护管理和节约成本。本人研究无盘好几年,后面会专门发帖介绍。 计费: 是指收费系统。 营销软件: 包括销售饮品、‌零食和向客户发送电子邮件营销和短信营销等。产品如…

银行资本种类

一、账面资本(会计资本) 账面资本又称为会计资本,是指商业银行持股人的永久性资本投入,即出资人在商业银行资产中享有的经济利益,其金额等于资产减去负债后的余额,包括实收资本或普通股、资本公积、盈余公…

【C++第十六章】多态

【C第十六章】多态 定义🧐 多态通俗来说,就是多种形态,我们去完成某个行为时,不同对象完成时会产生出不同的状态。比如游乐园中,1.2米以上买票就需要买成人票,1.2米以下就可以买儿童票。 多态是在不同继承…