gpt4 book ai didi

python - 两个 Pandas 数据框的联合

转载 作者:太空狗 更新时间:2023-10-29 18:22:36 25 4
gpt4 key购买 nike

假设我有两个数据框:

df1:

  A
0 a
1 b

df2:

  A
0 a
1 c

我希望结果是两个帧的并集额外列显示该行所属的源数据帧。如果有重复项,应删除重复项,并且相应的额外列应显示两个来源:

  A  B
0 a df1, df2
1 b df1
2 c df2

我可以获得没有重复的连接数据框 (df3),如下所示:

import pandas as pd
df3=pd.concat([df1,df2],ignore_index=True).drop_duplicates().reset_index(drop=True)

我想不出/找不到一种方法来控制元素的位置。如何添加额外的列?

非常感谢您的任何提示。

最佳答案

indicator 参数合并,并重新映射结果:

m = {'left_only': 'df1', 'right_only': 'df2', 'both': 'df1, df2'}

result = df1.merge(df2, on=['A'], how='outer', indicator='B')
result['B'] = result['B'].map(m)

result
A B
0 a df1, df2
1 b df1
2 c df2

关于python - 两个 Pandas 数据框的联合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54315222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com