将多数据帧合并为一个多索引数据帧

问题描述 投票:2回答:1

我有几个来自不同网站的数据框,例如:

for website1:
ws1 = pd.DataFrame.from_dict({"title":{"term1":2, "term2":1,"term3":2} , "content":{ "term2":4,"term3":12}}) 

index    title    content
______________________________
term1      2         NaN
term2      1         4
term3      2         12


for website2:
ws2 = pd.DataFrame.from_dict({"title":{"term2":1,"term4":2} , "content":{"term2":12, "term3":1,"term4":6}}) 

index    title    content
______________________________
term2      1         12
term3      NaN       1
term4      2         6

我想合并这些数据框,以便输出为多索引数据框。我的预期输出:

            website1             website2
index    title    content     title    content
_________________________________________________
term1      2         NaN        NaN       NaN
term2      1         4          1         12
term3      2         12         NaN       1
term4      NaN       NaN        2         6
python pandas dataframe
1个回答
3
投票
使用:keys中的参考字典和pd.concat参数>]

pd.concat


d={'website1':ws1,'website2':ws2} pd.concat(d.values(),axis=1,sort=False,keys=d.keys())
来自文档:

keys:序列,默认无如果通过了多个级别,则应包含元组。使用传递的键作为最外层级别来构造层次结构索引。
© www.soinside.com 2019 - 2024. All rights reserved.