Python 在pandas中拆分堆叠的数据帧

Python 在pandas中拆分堆叠的数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个像 age sex values time 2015 10 F 589628.0 2015 10 M 458390.0 2015 11 F 108018.0 2015 11 M 764350.0 .... 2000 60 M 34676.0 2000 60 F 45488.0

我有一个像

         age sex      values
time                        
2015      10   F    589628.0
2015      10   M    458390.0
2015      11   F    108018.0
2015      11   M    764350.0
 ....
2000      60   M     34676.0
2000      60   F     45488.0
         age   F           M
time                        
2015      10   589628.0  458390.0    
2015      11   
 ....
2000      60   45488.0   34676.0
我想创建数据帧,如

         age sex      values
time                        
2015      10   F    589628.0
2015      10   M    458390.0
2015      11   F    108018.0
2015      11   M    764350.0
 ....
2000      60   M     34676.0
2000      60   F     45488.0
         age   F           M
time                        
2015      10   589628.0  458390.0    
2015      11   
 ....
2000      60   45488.0   34676.0
将行减少一半并添加列。我曾尝试使用pivot来执行此操作,但没有效果

df.pivot(columns='sex', values='values') 
但这又回来了

Index contains duplicate entries, cannot reshape
有什么想法可以让我在不编写繁琐函数的情况下干净地拆分数据帧吗

干杯,迈克

使用和:

使用和:


我不能证实这一点,但它应该是

df.set_index(['age', 'sex'], append=True)['values'].unstack().reset_index('age')

我不能证实这一点,但它应该是

df.set_index(['age', 'sex'], append=True)['values'].unstack().reset_index('age')

我觉得这更快,我觉得这更快。