在数据处理时,有时需要对数据的结构进行重排,也称作是重塑(Reshape)或者轴向旋转(Pivot)。而运用层次化索引可为 DataFrame 的数据重排提供良好的一致性。在 pandas 中提供了实现重塑的两个函数,即 stack() 函数和 unstack() 函数。
常见的数据层次化结构有两种,一种是表格,如图 1 所示;另一种是“花括号”,如图 2 所示
图 1:表格结构
图 2:花括号结构
表格在行列方向上均有索引(类似于 DataFrame),花括号结构只有“列方向”上的索引(类似于层次化的 Series),结构更加偏向于堆叠(Series-stack)。
stack() 函数会将数据从“表格结构”变成“花括号结构”,即将其行索引变成列索引,反之,
unstack() 函数将数据从“花括号结构”变成“表格结构”,即要将其中一层的列索引变成行索引。
stack() 函数
stack() 函数的语法格式如下:
函数中的参数说明如下:
level:接收