问答 · ANSWER

分组操作——自定义分组及聚合操作是什么?

直接回答
Pandas分组操作的高级应用,包括根据自定义规则(如函数)进行分组,以及使用agg()函数实现灵活多样的聚合计算。

关键要点

  • 自定义分组有两种方法:向groupby()传入函数,或先构造分组列再分组。
  • agg()函数是灵活聚合的核心,可接受单个函数、函数列表或字典作为参数。
  • 使用agg()可一次性对同一列执行多个聚合计算,如同时求最大值、最小值和均值。
  • 可以向agg()传入字典,为DataFrame的不同列指定不同的聚合函数。
  • 可以编写并使用自定义函数进行聚合,实现非标准的聚合逻辑。
  • 方法二(先构造分组列)在工程实践中更常用,因其步骤清晰、便于复用。

怎么选 / 怎么做

自定义分组:
1. 方法一:将分组依据列设为索引,然后向groupby()传入一个函数,该函数应用于索引值并返回分组标签。
2. 方法二:使用apply()等方法在DataFrame中新增一个分组标签列,然后按此列进行常规groupby。

自定义聚合:
- 使用agg()函数,可传入:单个函数(如np.max)、函数列表(如[np.max, np.min, np.mean])、字典(如{'列A': np.mean, '列B': np.max})或自定义函数。

常见问题

什么是自定义分组?

根据业务逻辑(如函数规则)而非列的唯一值对数据进行分组。

agg()函数有什么用?

实现灵活聚合,可一次执行多聚合或为不同列指定不同函数。

如何为不同列指定不同聚合?

向agg()传入字典,键为列名,值为该列的聚合函数。

深入学

小象教研组整理 · 内容来自课程讲义与企业内训素材,仅供学习参考。