
326
|
第
10
章
这里,我们直接在多个
GroupBy
运算输出的结果之间进行算数运算,而非编写一个函
数,再将其传给 groupby(...).apply。这就是“展开式”要表达的含义。
展开式分组运算中可能包含多个分组聚合运算,但向量化运算的整体收益往往更高。
10.5
透视表和交叉表
透视表是各种电子表格程序和其他数据分析软件中常见的数据汇总工具。它根据一个或
多个键对数据进行聚合,并根据行和列上的分组键将数据分配到矩形区域中。在
Python
和
pandas
中,可以通过本章所介绍的 groupby 功能,结合使用层次化索引的重塑操作
来制作透视表。
DataFrame
有一个 pivot_table 方法,此外还有一个顶级的 pandas.
pivot_table 函数。除了为 groupby 提供便利的接口,
pivot_table
还可以添加分项汇总,
也称作差额。
回到小费数据集,假设你想计算分组平均数(pivot_table 的默认聚合类型),并在行方
向上根据 day 和 smoker 排列: