Fork me on GitHub

Pandas应用-SAC

图解Pandas中SAC过程

本文介绍的是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

  1. key是待切分的字段,data是待应用的数据
  2. Split过程:通过ABC分成3个组别
  3. Apply过程:3个组别应用某个函数规则
  4. Combine过程:将求和(sum就是指定规则)的结果组合在一起

Pandas应用SAC

在这里我们使用鸢尾花iris数据集来解释:

1
2
3
4
5
6
import pandas as pd
import numpy as np
import seaborn as sns

iris = sns.load_dataset("iris")
iris.head() # 前5条

1
2
3
iris.shape

# (150,5)

这个数据集总共是150条,我们随机取出10条

下面是SAC过程:

df1中我们使用的求和,df2中使用的是求均值。在后面的文章会介绍如何通过agg函数来实现对不同的字段指定不同的函数规则。

本文标题:Pandas应用-SAC

发布时间:2022年10月09日 - 20:10

原始链接:http://www.renpeter.cn/2022/10/09/Pandas%E5%BA%94%E7%94%A8-SAC.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Coffee or Tea