第四章. Pandas进阶—数据分组统计

news2025/8/10 11:33:18

第四章. Pandas进阶

4.3 数据分组统计

1.分组统计函数(groupby函数)

1).功能:

  • 根据给定的条件将数据拆分成组
  • 每个组否可以独立应用函数(sum,mean,min)
  • 将结果合并到一个数据结构中

2).语法:

DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)

参数说明:
by:映射,字典,Series对象,数组,标签或者标签列表
axis:0:代表列;1:代表行,默认0
level:索引层次
as_index:返回以组标签为索引的对象
sort:对组进行排序

3).示例:

import pandas as pd

pd.set_option('display.unicode.ambiguous_as_wide', True)  # 处理数据的列标题与数据无法对齐的情况
pd.set_option('display.unicode.east_asian_width', True)  # 无法对齐主要是因为列标题是中文
df = pd.read_excel('F:\\Note\\图书采购清单.xlsx')
print(df)

#一列分组统计
df1=df[['类名','折扣价']]
df2=df1.groupby(['类名']).sum()
print(df2)
print('*'*50)

#多列分组统计
df1=df[['类名','折扣价','入库日期']]
df2=df1.groupby(['类名','入库日期']).sum()
print(df2)

结果展示:

图书采购清单.xlsx
在这里插入图片描述在这里插入图片描述

2.对分组数据进行迭代(groupby函数):

1).示例:

import pandas as pd

pd.set_option('display.unicode.ambiguous_as_wide', True)  # 处理数据的列标题与数据无法对齐的情况
pd.set_option('display.unicode.east_asian_width', True)  # 无法对齐主要是因为列标题是中文
df = pd.read_excel('F:\\Note\\图书采购清单.xlsx')

df1=df[['类名','折扣价','入库日期']]
df2=df1.groupby('类名')['折扣价'].sum()
print(df2)
print('*'*50)

df1 = df[['类名', '折扣价', '入库日期']]
for (name1, name2), group in df1.groupby(['类名', '入库日期']):
    print(name1, name2)
    print(group)

结果展示:
在这里插入图片描述

3.对分类的某列使用聚合(groupby+agg函数):

1).示例:

import pandas as pd

pd.set_option('display.unicode.ambiguous_as_wide', True)  # 处理数据的列标题与数据无法对齐的情况
pd.set_option('display.unicode.east_asian_width', True)  # 无法对齐主要是因为列标题是中文
df = pd.read_excel('F:\\Note\\图书采购清单.xlsx')

df1 = df[['类名', '折扣价']]
df2=df1.groupby(['类名']).agg(['mean','sum'])
print(df2)

结果展示:
在这里插入图片描述

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

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

相关文章

5G无线技术基础自学系列 | 物理上行共享信道

素材来源:《5G无线网络优化实践》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 NR PUSCH支持两种波形(参阅TS…

Python入门自学进阶-Web框架——26、DjangoAdmin项目应用-数据记录操作

对于每个表显示的数据,点击其中一条,进入这条数据的修改页面,显示此条数据的具体内容,并提供修改、删除等功能。主要是ModelForm的应用。 一、记录数据修改 首先是路由项的添加,点击一条记录后,进入相应的…

MaxEnt模型融合技术的物种分布模拟、参数优化方法、结果分析制图与论文写作

什么是MaxEnt模型? MaxEnt模型的原理是什么?有哪些用途? MaxEnt运行需要哪些输入文件?注意那些事项? 融合R语言的MaxEnt模型的优势? 常用数据检索与R语言自动化下载及可视化方法 常用数据下载网站&…

第一章《初学者问题大集合》第7节:编写第一个Java程序

下载并安装好IDEA之后,就可以编写Java程序啦!前文曾经讲过,Java程序最初的存在形式是Java源文件,经过编译之后又会产生字节码文件。当今时代,软件项目的规模越来越大,因此软件项目中会有多个Java源文件和字…

Android Gradle - AGP(Android Gradle Plugin)更新失败,你遇到了吗?

因为项目中有Java和Kt,同时也是组件化项目,所以配置方面一直存在一些问题(项目可正常运行,只是影响开发效率),此处仅记录我在AndroidStudio中更新AGP(Android Gradle Plugin,即Android 官方开发…

jmeter 使用

下载安装 去官网下载binary文件https://jmeter.apache.org/download_jmeter.cgi 解压后,进入解压目录的 /bin/ ,通过 sh jmeter 命令来启动 Jmeter。 使用jmeter GUI创建test plan 创建线程组流程:测试计划–>右键–>添加–>线程…

threeJS与模型交互

效果预览 该场景是模拟两个楼层,当鼠标放到不同的楼层上时改变其透明度 blender中的模型如下图: 首先导入模型 import { FBXLoader } from three/examples/jsm/loaders/FBXLoader.js addfbx () {const loader new FBXLoader()loader.load(/models/…

算法:最长递增子序列

一、题目描述 给定一个长度为N的数组a0,a1,a2…,an-1&#xff0c;找出一个最长的单调递增子序列&#xff08;注&#xff1a;递增的意思是对于任意的i<j&#xff0c;都满足ai<aj&#xff0c;此外子序列的意思是不要求连续&#xff0c;顺序不乱即可&#xff09;。例如&…

K8s自动化集群环境搭建

文章目录一、环境规划1.1 集群类型1.2 安装方式二、环境搭建1、主机安装2、主机名分配3、时钟同步4. 禁用firewalld、selinux、postfix5. 禁用swap分区6. 开启IP转发&#xff0c;和修改内核信息7. 配置IPVS功能8. ssh免密认证三、安装docker1、更换阿里云镜像仓库2、安装docker…

【前端】HTTP —— HTTP 协议中的细节(超详细!!)

JavaEE传送门JavaEE 【前端】JavaScript —— JS的基本语法之数组, 函数… 【前端】JavaScript —— WebAPI 目录HTTP 协议抓包工具 fiddler协议格式RequestResponseHTTP 协议中的细节认识 URLURL 基本格式URL encode/ decode认识 "方法" methodGETPOSTGET 和 POST…

感叹之余随手记—他山之石,可以攻玉

如上是开源webRTC项目的一个OC代码文件&#xff0c;注意到文件名是mm后缀了吗&#xff1f; 是的&#xff0c;它是一个OC特性之OC跟C/C代码混编&#xff0c;上面的代码就C runtime跟OC runtime的string对象的互相转化。 开源成就了很多人很多事&#xff01; 开源提升了我们的工作…

MySQL高级学习笔记(二)

文章目录MySQL高级学习笔记(二)1.Mysql的体系结构概览2. 存储引擎2.1 存储引擎概述2.2 各种存储引擎特性2.2.1 InnoDB2.2.2 MyISAM2.2.3 MEMORY2.2.4 MERGE2.3 存储引擎的选择3. 优化SQL步骤3.1 查看SQL执行频率3.2 定位低效率执行SQL3.3 explain分析执行计划3.3.1 环境准备3.3…

【JavaSE】内部类介绍与总结

文章目录内部类的概念静态内部类实例内部类局部内部类匿名内部类内部类的概念 什么是内部类呢&#xff1f;在一个类里面定义了另一个类&#xff0c;我们就把前者称为外部类&#xff0c;后者称为内部类。 静态内部类 内部类也是有分类的&#xff0c;我们先来看看静态的内部类…

开源的滚滚浪潮:近年来开源多样化的几大亮点

导读目前参与进开源社区的人群仍然缺乏多样性&#xff0c;但是好的一面是&#xff0c;许多人、项目和社区正在努力改善这一现状。我从开源社区在2015年以来为提高多样性作出的努力中收集了几大亮点。Outreachy 发展多样性的实习项目 Outreachy 作为软件自由管理局的成员项目之…

7种方式企业内部资料共享,你pick谁?

企业内部资料共享&#xff0c;很多公司也还停留在用微信和QQ分享文件&#xff0c;但小编认为通过IM方式&#xff0c;只能说“发送”文件而已&#xff0c;并没有达到“共享”的需求。 试想一下这几个场景就能明白&#xff1a; 内部材料收集&#xff0c;是一份份地通过微信发送给…

OPENFLOW协议协议分析实践

一、基本要求 1.搭建下图所示拓扑&#xff0c;完成相关 IP 配置&#xff0c;并实现主机与主机之间的 IP 通信。用抓包软件获取控制器与交换机之间的通信数据。 2.查看抓包结果&#xff0c;分析OpenFlow协议中交换机与控制器的消息交互过程&#xff0c;画出相关交互图或流程图。…

【后端】HTTP4

回顾一下之前学习的内容 通过之前的学习&#xff0c;我们大致了解了HTTP请求响应的报文格式 HTTP请求 &#xff08;1&#xff09;首行&#xff08;方法 URL 版本号&#xff09; &#xff08;2&#xff09;请求头 header &#xff08;3&#xff09;空行 &#xff08;4&a…

计算机网络(第六弹) --- 与 HTTP 有关的八个问题

当我们用浏览器打开一个网页时基本上都是基于 HTTP 协议来进行传输的, 其实用 APP 来打开一个界面看到的 APP 中的内容大概率也是基于 HTTP 协议传输的, 因此 HTTP 对于网络而言的重要性不言而喻!   HTTP 这个协议在传输层主要是基于 TCP 来实现的, TCP 是传输字节流的协议, 只…

客户生命周期管理的五个最佳实践

每个优秀的客户服务人员都知道&#xff0c;业务不仅仅是完成一次性交易。优秀的企业与客户建立互惠互利的关系&#xff0c;相当于提高了客户的终身价值。换句话说&#xff0c;他们确保客户长时间留下来。本文将讨论客户生命周期管理的一些最佳实践。 1、与潜在客户和客户进行个…

业务数据分析-Excel必须掌握的7个操作技巧(二)

Excel必须掌握的7个操作技巧1、定位2、选择性粘贴3、快速填充4、查找与替换5、分列与合并6、去除重复项7、日期格式规范1、定位 如何快速定位到不连续的空值&#xff0c;填充为0 1.在任意空单元格里复制0 2.选中数据区域CtrlA 3.CtrlG 4.选择【定位条件】 5.选择【空值】 6.Ct…