DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(四)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(四)

④ Series:分组排序(很重要)

df = pd.DataFrame({"部门":["A", "A", "A", "B", "B", "B"],
                   "利润":[10, 32, 20, 15, 28, 10], 
                   "销售量":[20, 15, 33, 18, 30, 22]})
display(df)
df["排名"] = df["销售量"].groupby(df["部门"]).rank()
df

结果如下:

image.png


⑤ 自定义函数:将部门A、B分为一组,C单独成为一组(很特别的需求)

df = pd.DataFrame({"部门":["A", "A", "B", "B", "C", "C"],
                   "小组":["g1", "g2", "g1", "g2", "g1", "g2"], 
                   "利润":[10, 20, 15, 28, 12, 14], 
                   "人员":["a", "b", "c", "d", "e", "f"], 
                   "年龄":[20, 15, 18, 30, 23, 34]})
df = df.set_index("部门")
display(df)
def func(x):
    if x=="A" or x=="B":
        return 0
    else:
        return 1
g = df.groupby(func)
display(g)
for (x,y) in g:
    display(x, y)


结果如下:

image.png


4、agg()聚合操作的相关说明

 当使用了groupby()分组的时候,得到的就是一个分组对象。当没有使用groupby()分组的时候,整张表可以看成是一个组,也相当于是一个分组对象。

 针对分组对象,我们既可以直接调用聚合函数sum()、mean()、count()、max()、min(),还可以调用分组对象的agg()方法,然后像agg()中传入指定的参数。


1)直接针对分组对象,调用聚合函数

① 针对df整张表,直接调用聚合函数

df = pd.DataFrame({"部门":["A", "A", "B", "B", "C", "C"],
                   "小组":["g1", "g2", "g1", "g2", "g1", "g2"], 
                   "利润":[10, 20, 15, 28, 12, 14], 
                   "人员":["a", "b", "c", "d", "e", "f"], 
                   "年龄":[20, 15, 18, 30, 23, 34]})
display(df)
df["利润"].mean()
df[["年龄","利润"]].mean()


结果如下:

image.png


② 针对df分组后的对象,直接调用聚合函数

df = pd.DataFrame({"部门":["A", "A", "B", "B", "C", "C"],
                   "小组":["g1", "g2", "g1", "g2", "g1", "g2"], 
                   "利润":[10, 20, 15, 28, 12, 14], 
                   "人员":["a", "b", "c", "d", "e", "f"], 
                   "年龄":[20, 15, 18, 30, 23, 34]})
display(df)
df.groupby("部门")["利润"].mean()
df.groupby("部门").mean()


结果如下:

image.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
存储 数据挖掘 数据处理
掌握Pandas核心数据结构:Series与DataFrame的四种创建方式
本文介绍了 Pandas 库中核心数据结构 Series 和 DataFrame 的四种创建方法,包括从列表、字典、标量和 NumPy 数组创建 Series,以及从字典、列表的列表、NumPy 数组和 Series 字典创建 DataFrame,通过示例详细说明了每种创建方式的具体应用。
113 67
|
3月前
|
SQL 索引 Python
Pandas中DataFrame合并的几种方法
Pandas中DataFrame合并的几种方法
233 0
|
2天前
|
存储 数据挖掘 索引
Pandas数据结构:Series与DataFrame
本文介绍了 Python 的 Pandas 库中两种主要数据结构 `Series` 和 ``DataFrame`,从基础概念入手,详细讲解了它们的创建、常见问题及解决方案,包括数据缺失处理、数据类型转换、重复数据删除、数据筛选、排序、聚合和合并等操作。同时,还提供了常见报错及解决方法,帮助读者更好地理解和使用 Pandas 进行数据分析。
28 10
|
16天前
|
存储 数据挖掘 索引
Pandas Series 和 DataFrame 常用属性详解及实例
Pandas 是 Python 数据分析的重要工具,其核心数据结构 Series 和 DataFrame 广泛应用。本文详细介绍了这两种结构的常用属性,如 `index`、`values`、`dtype` 等,并通过具体示例帮助读者更好地理解和使用这些属性,提升数据分析效率。
33 4
|
1月前
|
SQL 数据采集 数据可视化
Pandas 数据结构 - DataFrame
10月更文挑战第26天
47 2
Pandas 数据结构 - DataFrame
|
1月前
|
SQL NoSQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(5)作者——LJS[含MySQL DQL基本查询:select;简单、排序、分组、聚合、分组、分页等详解步骤及常见报错问题所对应的解决方法]
MySQL DQL基本查询:select;简单、排序、分组、聚合、分组、分页、INSERT INTO SELECT / FROM查询结合精例等详解步骤及常见报错问题所对应的解决方法
|
27天前
|
关系型数据库 MySQL 索引
MySQL的group by与count(), *字段使用问题
正确使用 `GROUP BY`和 `COUNT()`函数是进行数据聚合查询的基础。通过理解它们的用法和常见问题,可以有效避免查询错误和性能问题。无论是在单列分组、多列分组还是结合其他聚合函数的场景中,掌握这些技巧和注意事项都能大大提升数据查询和分析的效率。
99 0
|
1月前
|
SQL NoSQL 关系型数据库
|
3月前
|
算法 关系型数据库 MySQL
MySQL高级篇——排序、分组、分页优化
排序优化建议、案例验证、范围查询时索引字段选择、filesort调优、双路排序和单路排序、分组优化、带排序的深分页优化
MySQL高级篇——排序、分组、分页优化
|
2月前
|
数据采集 数据挖掘 大数据
【Python篇】详细学习 pandas 和 xlrd:从零开始
【Python篇】详细学习 pandas 和 xlrd:从零开始
60 2