第8章 数据规整:聚合、合并和重塑
8.1 层次化索引
常见的数据层次化结构有两种,一种是表格,一种是“花括号”,表格在行列方向上均有索引(类似于DataFrame),花括号结构只有“列方向”上的索引(类似于层次化的Series),结构更加偏向于(Series-stack,方便记忆)。stack函数会将数据从“表格结构”变成“花括号结构”,即将其行索引变成列索引,反之,unstack函数将数据从“花括号结构”变成“表格结构”,即要将其中一层的列索引变成行索引。
- 重排与分级排序
swaplevel接受两个级别编号或名称,并返回一个互换了级别的新对象(但数据不会发生变化)。
sort_index根据单个级别中的值对数据进行排序。交换级别时,常常也会用到sort_index,这样最终结果就是按照指定顺序进行字母排序了。
- 根据级别汇总统计
许多对DataFrame和Series的描述和汇总统计都有一个level选项,它用于指定在某条轴上求和的级别。
- 使用DataFrame的列进行索引
DataFrame的set_index函数会将其一个或多个列转换为行索引,并创建一个新的DataFrame。默认情况下,那些列会从DataFrame中移除,用drop=False可以将其保留下来。
reset_index的功能跟set_index刚好相反,层次化索引的级别会被转移到列里面
8.2 合并数据集
pandas.merge可根据一个或多个键将不同DataFrame中的行连接起来。SQL或其他关系型数据库的用户对此应该会比较熟悉