微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python-熊猫合并并为重复的列创建一个多索引

我有两个数据框

sessions = DataFrame({"ID":[1,2,3,4,5],"2018-06-30":[23,34,45,67,75],"2018-07-31":[32,43,45,76,57]})
leads = DataFrame({"ID":[1,2,3,4,5],"2018-06-30":[7,10,28,15,30],"2018-07-31":[7,10,28,15,30]})

我想合并ID上的两个数据框,然后创建一个多索引,如下所示:

enter image description here

我该怎么做?

直接的pandas.merge会创建我不想要的后缀_x,_y.

解决方法:

在两个DataFrame中将concat与ID一起使用set_index,然后将swaplevelsort_index一起用于列中的预期MultiIndex:

df = (pd.concat([sessions.set_index('ID'), 
                leads.set_index('ID')], 
                axis=1, 
                keys=['sessions','leads'])
        .swaplevel(0,1,axis=1)
        .sort_index(axis=1, ascending=[True, False])
        )
print (df)
   2018-06-30       2018-07-31      
     sessions leads   sessions leads
ID                                  
1          23     7         32     7
2          34    10         43    10
3          45    28         45    28
4          67    15         76    15
5          75    30         57    30

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐