How do you update the levels of a pandas MultiIndex after slicing its DataFrame?

后端 未结 3 718
借酒劲吻你
借酒劲吻你 2020-11-27 05:55

I have a Dataframe with a pandas MultiIndex:

In [1]: import pandas as pd
In [2]: multi_index = pd.MultiIndex.from_product([[\'CAN\',\'USA\'],[\'total\']],nam         


        
3条回答
  •  不知归路
    2020-11-27 06:27

    From version pandas 0.20.0+ use MultiIndex.remove_unused_levels:

    print (df.index)
    MultiIndex(levels=[['CAN', 'USA'], ['total']],
               labels=[[1], [0]],
               names=['country', 'sex'])
    
    df.index = df.index.remove_unused_levels()
    
    print (df.index)
    MultiIndex(levels=[['USA'], ['total']],
               labels=[[0], [0]],
               names=['country', 'sex'])
    

提交回复
热议问题