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

数据分析Pandas专栏---第十一章<Pandas数据聚合与分组(1)>

前言:

数据聚合和分组操作是数据处理过程中不可或缺的一部分。它们允许我们根据特定的条件对数据进行分组,并对每个组进行聚合计算。这对于统计分析、汇总数据以及生成报告和可视化非常有用。无论是市场营销数据分析、销售业绩评估还是金融数据建模,数据聚合和分组操作都起着关键的作用。

正文:

数据聚合操作

定义数据聚合

在数据分析中,聚合是指将多个数据元素合并为更高级别的结果表示。数据聚合可以通过对数据集应用统计函数来实现,如计算平均值(mean)、求和(sum)、计数(count)等。这些函数可以轻松地应用于DataFrame或Series对象,让我们能够快速计算数据集的统计指标。聚合可以将数据量进行缩减,提取出数据集的关键特征,并为进一步分析提供更有意义的结果。

聚合操作与数据汇总的关系

数据聚合操作是数据汇总的一种方式。通过聚合操作,我们可以对数据集中的特定列或多列进行分组,并对每个分组应用聚合函数。这样,我们可以将原始数据转变为更有用的汇总信息,如计算每个分组的平均值、总和或计数

案例: 假设我们有一个销售数据集,其中包含了不同产品的销售记录。我们希望对该数据集进行分组和聚合操作,以了解不同产品类别的平均销售额、总销售额和销售数量。
import pandas as pd# 载入销售数据集
sales_data = pd.read_csv('sales_data.csv')# 根据产品类别进行分组
grouped_sales = sales_data.groupby('产品类别')# 计算平均销售额、总销售额和销售数量
avg_sales = grouped_sales['销售额'].mean()
total_sales = grouped_sales['销售额'].sum()
count_sales = grouped_sales['销售数量'].count()# 打印结果
print("平均销售额:\n", avg_sales)
print("总销售额:\n", total_sales)
print("销售数量:\n", count_sales)

我们将销售数据集按照产品类别进行了分组,并计算了每个产品类别的平均销售额、总销售额和销售数量。通过这些聚合操作,我们可以更好地理解不同产品类别的销售情况。

数据分组操作

数据分组的概念和作用

在数据分析中,数据分组是将数据集按照特定的条件或列进行划分的过程。通过数据分组,我们可以对每个分组内的数据应用各种操作和聚合函数,以获得更具体和有针对性的结果。数据分组让我们能够更好地理解数据集中的不同子集,并揭示出数据的隐藏特征和关联性

groupby函数和语法

Pandas中的groupby函数是进行数据分组操作的核心工具。它可以根据指定的列名或条件将数据集划分为多个组。使用groupby函数时,我们可以使用链式操作进一步对分组后的数据进行聚合、过滤或变换。

分组操作的常用参数和方法

在进行数据分组时,Pandas的groupby函数提供了各种参数和方法来控制分组操作的行为和结果。常用的参数包括:

  • by:指定按照哪些列进行分组
  • as_index:是否将分组的列作为索引,默认为True
  • level:指定多级索引时用于分组的级别

常用的分组方法包括:

  • sum():计算分组后的总和
  • mean():计算分组后的平均值
  • count():计算分组后的计数
  • max():计算分组后的最大值
  • min():计算分组后的最小值

 分组聚合操作实例

进行单列分组并应用特定聚合函数

假设我们有一个员工工资的数据集,包含员工姓名、部门和薪水信息。我们想要根据部门对薪水进行分组,并计算每个部门的平均薪水、最高薪水和最低薪水。

import pandas as pd# 载入数据集
salary_data = pd.read_csv('salary_data.csv')# 根据部门分组并应用聚合函数
grouped_data = salary_data.groupby('部门')
avg_salary = grouped_data['薪水'].mean()
max_salary = grouped_data['薪水'].max()
min_salary = grouped_data['薪水'].min()# 打印结果
print("部门平均薪水:\n", avg_salary)
print("部门最高薪水:\n", max_salary)
print("部门最低薪水:\n", min_salary)

多列分组操作和多个聚合函数的应用

继续以上述员工工资的数据集为例,我们想要根据部门和职位对薪水进行分组,并计算每个部门和职位的平均薪水和最低薪水。

import pandas as pd# 继续使用上述数据集
# 根据部门和职位分组并应用多个聚合函数
grouped_data = salary_data.groupby(['部门', '职位'])
agg_data = grouped_data['薪水'].agg(['mean', 'min'])# 打印结果
print("部门和职位的平均薪水和最低薪水:\n", agg_data)

结果重命名和索引重置的技巧

在进行分组聚合操作时,我们可以使用rename和reset_index方法对最终结果进行重命名和索引重置,以使结果更易读和理解。例如,我们可以将计算得到的平均薪水和最低薪水分别重命名为"平均工资"和"最低工资",并将默认的分组索引恢复为普通的整数索引。

import pandas as pd# 继续使用上述数据集和代码
# 重命名结果并重置索引
agg_data.rename(columns={'mean': '平均工资', 'min': '最低工资'}, inplace=True)
agg_data.reset_index(inplace=True)# 打印最终结果
print("重命名和重置索引后的结果:\n", agg_data)

总结:

通过使用groupby函数和各种聚合函数,我们可以根据特定条件将数据集分组,并对每个分组进行各种汇总和计算操作。

相关文章:

数据分析Pandas专栏---第十一章<Pandas数据聚合与分组(1)>

前言: 数据聚合和分组操作是数据处理过程中不可或缺的一部分。它们允许我们根据特定的条件对数据进行分组,并对每个组进行聚合计算。这对于统计分析、汇总数据以及生成报告和可视化非常有用。无论是市场营销数据分析、销售业绩评估还是金融数据建模,数据…...

【Linux】将程序的输出显示到屏幕,同时写入到log文件

1. 将程序的输出显示到屏幕,同时写入到log文件 nohup python -u main.py 2>&1 | tee -a log.txt &nohup 放在命令的开头,表示不挂起(no hang up),也即,关闭终端或者退出某个账号,进…...

MySQL(基础篇)——函数、约束

一.函数 1.定义 函数是指一段可以直接被另一段程序调用的程序或代码。 2.字符串函数 常见如下: -- 字符串拼接 SELECT CONCAT(hello,MySql) AS CONCAT -- 将字符串全部转为小写 SELECT LOWER(HEllo MYSql) AS LOWER -- 将字符串全部转为大写 SELECT UPPER(Hello…...

【wails】(4):使用wails做桌面应用开发,整合chatgpt-web项目做前端,进行本地开发,web端也可以连调,使用websocket实现

1,视频地址 【wails】(4):使用wails做桌面应用开发,整合chatgpt-web项目做前端,进行本地开发,web端也可以连调,使用websocket实现 2,演示效果 启动先是报500 错误&#…...

八股文打卡day24——数据库(1)

面试题:左连接和右连接的区别? 我的回答: 左连接的SQL语句是:左表 left join 右表 on 连接条件,表示以左表为基础,将左表的的所有记录与右表进行连接。即使右表中没有与左表匹配的记录,左连接…...

robots.txt 文件规则

robots.txt 是一种用于网站根目录的文本文件,其主要目的在于指示网络爬虫(web crawlers)和其他网页机器人(bots)哪些页面可以抓取,以及哪些页面不应该被抓取。可以看作是网站和搜索引擎机器人之间的一个协议…...

电脑WiFi共享给电脑的网口,另一终端可通过该网口进行上网。可用于wireshark抓设备终端的包。

1、点击WinR,弹出命令框,输入services.msc 2、选中“Internet Connection Sharing”这个服务右键,点击属性打开,启动类型选择“自动”,确定保存 3、点击WinR,弹出命令框,输入regedit 4、找到路径…...

字节面试问题

实现三列布局的方法 第一种&#xff1a;可以使用浮动margin 第二种&#xff1a;浮动BFC <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, in…...

弹窗内容由后端返回,如何让点击按钮的事件交由前端控制?

一、场景 背景&#xff1a;因为系统里经常有新活动或者公告需要通知所有用户&#xff0c;希望前端维护的这个弹窗里的内容可以由后端接口返回。这样就不需要每次上新活动的时候&#xff0c;前端项目都发版了。因此&#xff0c;前端维护了这个弹窗和它的关闭事件&#xff0c;至…...

[数据结构 C++] AVL树的模拟实现

文章目录 1、AVL树1.1 AVL树的概念 2、AVL树节点的定义3、AVL树的插入和旋转3.1 左单旋左旋代码实现 3.2 右单旋右旋代码实现 3.3 右左双旋右左双旋的代码实现 3.4 左右双旋左右双旋的代码实现 3.5 insert接口实现 4、判断是否为AVL树判断AVL树的代码实现 5、AVL树的性能 问题引…...

深入理解ngx_http_proxy_connect_module模块(下)

目录 5. 源码分析5.1 模块的初始化代码5.2 请求入口点函数分析5.2.1 ngx_http_proxy_connect_post_read_handler5.2.2 ngx_http_proxy_connect_handler5.3 域名解析回调5.4 向上游服务器发起连接5.4.1 ngx_http_proxy_connect_process_connect5.4.2 ngx_http_proxy_connect_wri…...

HTTP详解(HTTP的特点,状态码,工作原理,GET和POST的区别,如何解决无状态通信)!!!

文章目录 一、HTTP协议简介二、HTTP的主要特点三、HTTP之URL四、Request和Respons五、HTTP的状态码六、HTTP工作原理七、GET和POST请求的区别八、解决HTTP无状态通信——Cookie和Session 一、HTTP协议简介 HTTP协议是Hyper Text Transfer Protocol&#xff08;超文本传输协议&…...

【QT+QGIS跨平台编译】之五十七:【QGIS_CORE跨平台编译】—【VECTOR_TILE生成】

文章目录 一、protoc二、生成来源三、构建过程一、protoc Protocol Buffers(简称 protobuf)是一种轻量级、高效的数据序列化框架,它可以将结构化数据序列化为二进制格式,同时还可以进行反序列化和数据压缩。相比于 XML 和 JSON 等传统的文本序列化格式,protobuf 采用二进制…...

2024年腾讯云优惠政策_腾讯云TOP10优惠活动

腾讯云服务器多少钱一年&#xff1f;62元一年起&#xff0c;2核2G3M配置&#xff0c;腾讯云2核4G5M轻量应用服务器218元一年、756元3年&#xff0c;4核16G12M服务器32元1个月、312元一年&#xff0c;8核32G22M服务器115元1个月、345元3个月&#xff0c;腾讯云服务器网txyfwq.co…...

SpringMVC 学习(二)之第一个 SpringMVC 案例

目录 1 通过 Maven 创建一个 JavaWeb 工程 2 配置 web.xml 文件 3 创建 SpringMVC 配置文件 spring-mvc.xml 4 创建控制器 HelloController 5 创建视图 index.jsp 和 success.jsp 6 运行过程 7 参考文档 1 通过 Maven 创建一个 JavaWeb 工程 可以参考以下博文&#x…...

qt5与qt6的cmake区别

文章目录 使用cmake构建qt项目&#xff0c;坑很多。一是本身就麻烦&#xff0c;二是&#xff0c;确实坑&#xff0c;因为不同的qtcreator版本&#xff0c;选了不同的kits&#xff08;套件&#xff09; 生成的CMakeList.txt文件也不一样。 如果可以的话都选择Qt6的相关选项&…...

【计算机网络】一些乱七八糟内容

MAC Media Access Control 用于在局域网&#xff08;LAN&#xff09;或广域网&#xff08;WAN&#xff09;中实现设备自动接入网络 "载波侦听多路访问"(Carrier Sense Multiple Access) CSMA/CD 是CSMA的升级版本&#xff0c;加入了序列号检测机制。 CSMA/CA 是CSM…...

基于ESP32的MicroPython项目量产烧写指南

背景 前段时间用MicroPython开发了一个项目&#xff0c;硬件是ESP32-C3&#xff0c;目前准备量产&#xff0c;我需要提供固件以供加工厂批量烧录&#xff0c;需要把我有程序的板子里的程序读出来&#xff0c;然后下到别的板子上&#xff0c;以下做这件事情的过程记录。 1.固件…...

线性规划的标准型转换

对于任意给定的线性规划的问题&#xff0c;其实其本身可能是不符合线性规划标准型的需求的&#xff0c;但是如果通过一系列的等价变化的话&#xff0c;是可以将该问题转换为标准型的线性规划问题&#xff0c;例如如下的线性规划问题: 添加图片注释&#xff0c;不超过 140 字&am…...

机器学习:探寻智能化时代的科技奇迹

在数字化浪潮席卷全球的今天&#xff0c;机器学习已然成为科技领域的一颗璀璨明星&#xff0c;引领着人工智能不断向前发展。那么&#xff0c;机器学习究竟是什么&#xff1f;它为何能在众多科技中脱颖而出&#xff0c;成为改变世界的力量&#xff1f;本文将带您一探究竟&#…...

BilibiliDown:免费跨平台B站视频下载器终极指南

BilibiliDown&#xff1a;免费跨平台B站视频下载器终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/bi/Bili…...

手把手教你用Keil5给51单片机编程:读取DHT11、SGP30等四种传感器数据

51单片机多传感器数据采集实战指南&#xff1a;从硬件连接到Keil5代码实现 在物联网和智能硬件开发领域&#xff0c;51单片机因其简单易用、成本低廉的特点&#xff0c;依然是许多初学者的首选平台。本文将带你完成一个完整的多传感器数据采集项目&#xff0c;使用STC89C52RC单…...

Windows下3DGS环境搭建保姆级教程:用最小化environment.yml和手动安装搞定CUDA 12.8

Windows下3DGS环境搭建&#xff1a;最小化配置与CUDA 12.8兼容性实战指南 当你在Windows系统上尝试复现3D Gaussian Splatting&#xff08;3DGS&#xff09;项目时&#xff0c;可能会遇到各种依赖冲突和环境配置问题&#xff0c;尤其是使用较新的CUDA 12.8版本和50系列显卡时。…...

从模块化到系统集成:深入解析Rocket Chip的Diplomacy机制与SoC设计实践

1. Rocket Chip与Diplomacy机制初探 第一次接触Rocket Chip时&#xff0c;很多人会误以为它是一个现成的处理器IP核。实际上&#xff0c;它更像是一个"乐高积木工厂"——通过Chisel语言编写的生成器&#xff0c;能够按需生产不同配置的RISC-V处理器。我在参与边缘AI加…...

PCIe硬件电路设计实战:从金手指到PCB布局的全面解析

1. PCIe硬件电路设计基础入门 第一次接触PCIe硬件设计时&#xff0c;我被那些密密麻麻的金手指和复杂的差分对搞得头晕眼花。后来才发现&#xff0c;只要掌握几个核心概念&#xff0c;PCIe并没有想象中那么可怕。PCIe全称PCI-Express&#xff0c;是目前主板上最常见的高速串行总…...

NifSkope:终极免费NIF文件编辑器,轻松搞定Bethesda游戏模型编辑

NifSkope&#xff1a;终极免费NIF文件编辑器&#xff0c;轻松搞定Bethesda游戏模型编辑 【免费下载链接】nifskope A git repository for nifskope. 项目地址: https://gitcode.com/gh_mirrors/ni/nifskope 你是否在为《上古卷轴》或《辐射》系列游戏制作模组时&#xf…...

Spotify广告拦截终极指南:BlockTheSpot如何让你免费享受纯净音乐体验

Spotify广告拦截终极指南&#xff1a;BlockTheSpot如何让你免费享受纯净音乐体验 【免费下载链接】BlockTheSpot Video, audio & banner adblock/skip for Spotify 项目地址: https://gitcode.com/gh_mirrors/bl/BlockTheSpot 还在为Spotify免费版中频繁出现的音频广…...

2025届最火的五大降重复率网站实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 知网AIGC检测系统是依靠深度学习以及语义分析这种技术的&#xff0c;它能够精确地识别出论文…...

AI 技术在招投标文档编制中的应用实践

随着生成式 AI 技术在办公领域的普及&#xff0c;传统依赖人工完成的大量文本处理工作&#xff0c;正在逐步走向智能化与自动化。招投标场景下的标书编制工作&#xff0c;由于文档结构复杂、条款繁多、格式要求严格&#xff0c;成为 AI 辅助办公的典型落地场景。本文从技术应用…...

别再为蓝牙打印头疼了!UniApp + TSC标签打印机保姆级实战(Vue2/Vue3通用)

UniApp蓝牙标签打印实战&#xff1a;从TSC指令集到业务封装的艺术 在移动端开发中&#xff0c;蓝牙打印功能常被视为"技术深水区"——尤其是当业务场景涉及专业标签打印机时。我曾见过不少团队在这个环节耗费数周时间&#xff0c;反复调试却依然面临打印错位、连接不…...