四、问题与练习
1. 问题
【问题一】 上面提到了许多变形函数,如melt/crosstab/pivot/pivot_table/stack/unstack函数,请总结它们各自的使用特点。
- pivot函数
不能分组,index和columns不能完全相同,否则会报错 - pivot_table函数
(1)有分组功能,可以通过aggfunc参数对组内数据进行聚合统计,可传入各类函数,默认为mean
(2)可以通过margins参数汇总边际状态,通过margins_name设置名字
(3)行,列,值都可以为多级 - crosstab函数
支持分组,但不支持多级分组,可以通过normalize参数进行数据归一化,也可以汇总边际状态 - melt函数
相当于pivot函数的逆操作 - stack函数
可以将通过pivot_table函数压缩的数据展开成stack,参数level可指定变化的列索引是哪一层 - unstack函数
stack的逆函数,功能上类似于pivot_table()函数
【问题二】 变形函数和多级索引是什么关系?哪些变形函数会使得索引维数变化?具体如何变化?
可以通过设置变形函数的index,values参数来生成多级索引