Pandas实用技巧:SAC机制!
2023-02-25 17:58:47 时间
本文转载自微信公众号「尤而小屋」,作者Peter 。转载本文请联系Peter的公众号。
大家好,我是Peter~
本文给大家介绍的是Pandas中非常实用的SAC过程。首先我们需要明白什么是SAC机制
SAC
SAC指的是分组操作中的 Split-Apply-Combine 3个过程,分别代表的数据的切割、应用和组合。
1、Split:切割的过程,就是通过某个指定的信息进行分组,生成不同的组别
2、Apply:应用的过程,对不同的组别使用不同的功能函数,比如求和、求均值、最值等;函数可以python、pandas等内置函数,也可以是自定义的函数来实现各种功能等
3、Combine:组合的过程,将Apply应用之后的结果再次组合在一起,得到最终的结果
通常情况下,SAC过程都是需要和groupby函数联合使用。
图解SAC
下面有两张图能够解释SAC的过程。
图1
图1中,我们将数据进行group分组操作,切分成3种颜色,3种颜色代表3个不同的组别;对3个不同的组别使用函数foo(),函数可以内置或者自定义。
最终将3个组别应用了foo函数之后的结果进行组合。下面给了一个例子:
图2
- key是待切分的字段,data是待应用的数据
- Split过程:通过ABC分成3个组别
- Apply过程:3个组别应用某个函数规则
- Combine过程:将求和(sum就是指定规则)的结果组合在一起
Pandas应用SAC
在这里我们使用鸢尾花iris数据集来解释:
这个数据集总共是150条,我们随机取出10条
下面是SAC过程:
df1中我们使用的求和,df2中使用的是求均值。
在后面的文章会介绍:
- groupby对象的内部机制
- 如何通过agg函数来实现对不同的字段指定不同的函数
- 如何对分组数据实现过滤filter
相关文章
- [JCIM | 论文简读] Chemspace Atlas:用于药物发现的多尺度大型化学数据库
- [JCIM | 论文简读] 化学性质预测的RMG数据库
- 玩转SQLite8:运算符与表达式
- 玩转SQLite9:常用语句实践(一)
- 玩转SQLite10:常用语句实践(二)
- 玩转SQLite-11:C语言高效API之sqlite3_prepare系列函数
- 开心档-软件开发入门之MySQL 数据类型
- 开心档-软件开发入门之MySQL 数据类型
- 开心档-软件开发入门之MySQL 导出数据
- 开心档-软件开发入门之MySQL 导出数据
- 开心档-软件开发入门之MySQL 导入数据
- php数据库文件导出代码
- mysql case用法 在sql 进行分支处理
- mysql update 报错
- laravel 中查看执行的sql 语句
- postgresql主备配置步骤
- mysql主主复制原理及配置方法
- 齐活了,Grafana 发布大规模持续性能分析开源数据库 - Phlare
- CNVD-2022-42853:禅道V16.5SQL注入漏洞
- Mysql主从配置参数说明