想象一下,我有两个具有以下值的熊猫数据框:
Df1
id value
1 45
2 48
3 78
Df2
id value
1 45
2 49
3 78
我们可以看到有两个相似的值(对于ID 1和3),一个不同。
我希望Df1变成这样:
id value
1 45
2 48
2 49
3 78
有什么想法可以做到吗?
非常感谢!
答案 0 :(得分:2)
您需要merge
print(df1.merge(df2, how='outer', on=['value','id']))
输出:
value id
0 45 1
1 48 2
2 78 3
3 49 2
答案 1 :(得分:1)
您可以连接,并按id
排序(如有必要),然后按drop_duplicates
排序:
df = pd.concat([df1, df2]).sort_values('id').drop_duplicates()
print(df)
id value
0 1 45
1 2 48
1 2 49
2 3 78