第9章 数据聚合与分组运算
对数据集进行分组并对各组应用一个函数(无论是聚合还是转换),这是数据分析工作中的重要环节。在将数据集准备好之后,通常的任务就是计算分组统计或生成透视表。pandas提供了一个灵活高效的gruopby功能,它使你能以一种自然的方式对数据集进行切片、切块、摘要等操作。
关系型数据库和SQL(Structured Query Language,结构化查询语言)能够如此流行的原因之一就是其能够方便地对数据进行连接、过滤、转换和聚合。但是,像SQL这样的查询语言所能执行的分组运算的种类很有限。在本章中你将会看到,由于Python和pandas强大的表达能力,我们可以执行复杂得多的分组运算(利用任何可以接受pandas对象或NumPy数组的函数)。在本章中,你将会学到:
·根据一个或多个键(可以是函数、数组或DataFrame列名)拆分pandas对象。
·计算分组摘要统计,如计数、平均值、标准差,或用户自定义函数。
·对DataFrame的列应用各种各样的函数。
·应用组内转换或其他运算,如规格化、线性回归、排名或选取子集等。
·计算透视表或交叉表。
·执行分位数分析以及其他分组分析。
注意: 对时间数据的聚合(groupby的特殊用法之一)也称作重采样(resampling),本书将在第10章中单独对其进行讲解。