在键上合并并保留第一个数据帧的值



我有两个数据帧:

df1
key value
A 1
B 2
C 2
D 3
df2
key value
C 3
D 3
E 5
F 7

我想通过它们的键合并这些数据帧,得到一个看起来像这样的数据帧。因此,我只想得到一列(没有带后缀的新列(,如果值不匹配,则删除df2的值。

df_merged
key value
A 1
B 2
C 2
D 3
E 5
F 7

我该怎么做?我应该选择join还是concatenate?非常感谢!

通过列key:将concatDataFrame.drop_duplicates一起使用

df = pd.concat([df1, df2], ignore_index=True).drop_duplicates('key')
print (df)
key  value
0   A      1
1   B      2
2   C      2
3   D      3
6   E      5
7   F      7

只需添加@jezrael的答案,您还可以将groupbyfirst:一起使用

>>> pd.concat([df1, df2], ignore_index=True).groupby('key', as_index=False).first()
key  value
0   A      1
1   B      2
2   C      2
3   D      3
4   E      5
5   F      7
>>> 

相关内容

最新更新