分组与聚合的原理
分组与聚合是数据分析中比较常见的操作。在Pandas中,分组是指使用特定的条件将原数据划分为多个组,聚合在这里指的是,对每个分组中的数据执行某些操作(如聚合、转换等),最后将计算的结果进行整合。
分组与聚合(split-apply-combine)的过程大概分为三步,具体如下:
(1)拆分(split):将数据集按照一些标准拆分为若干个组。拆分操作是在指定轴上进行的,既可以对横轴方向上的数据进行分组,也可以对纵轴方向上的数据进行分组。
(2)应用(apply):将某个函数或方法(内置和自定义均可)应用到每个分组。
(3)合并(combine):将产生的新值整合到结果对象中。
接下来,通过一个示例来演示分组与聚合的整个过程,具体如图1所示。
图1 分组聚合过程示意图
图1使用求分组最大值的例子描述了分组与聚合的整个过程。在图1中,最左边是一个的表格,该表格中“Key”列的数据只有“A”、“B”、“C”。按照Key列进行分组,把该列中所有数据为“A”的分成一组,所有数据为“B”的分成一组,所有数据为“C”的分成一组,共分成三组,然后对每个分组执行求最大值的操作,计算出每个分组的最大值为18、10、16,此时每个分组中只有一个最大值,最后将所有分组的最大值整个在一起。