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')
我觉得这更快,我觉得这更快。