Series

多层次索引Series的索引是MultiIndex结构
根据最外层索引取数时,可直接通过series[outer_index_m]完成
根据内层索引取数时,需要series[:, inner_index_m]完成
更内层索引,series[:, :, ..., inner_index_m]完成
sreies.unstack()可将双层索引的series转为dataframe,外层索引做行索引,内层索引做列索引
DataFrame

多层次索引的dataframe按最外层行/列索引取数时,返回的结果是一个新的dataframe,所以,可用dataframe的按行/列取数方法依次进行
可以直接指定索引的别名(这是轴的标签,并不是索引本身的名称)
也可以通过MlutiIndex对象复用

dataframe.stack()方法
可将多层列索引的dataframe转成新的dataframe,将最内层列索引转为最内层行索引
若是dataframe只有一层列索引,stack方法会返回一个多层行索引的series
dataframe.unstack()方法
可将多层行索引的dataframe转成新的dataframe,将最内层行索引转为最内层列索引
若是dataframe只有一层行索引,stack方法会返回一个多层行索引的series
stack方法与unstack方法一直调用都会将dataframe转为series,两种series的区别在于行索引的先后顺序
*注:stack/unstack方法可以将dataframe转为series,也可以将series转为dataframe
在多层次索引pandas对象中,这两个方法可一直调用下去,实现索引重排

索引分级顺序重排
上面通过stack/unstack实现了索引重排,一直调用太麻烦,还可以通过swaplevel方法直接指定两个层次的索引对调其位置

网友评论