我有两个数据帧:
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
:将concat
与DataFrame.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的答案,您还可以将groupby
与first
:一起使用
>>> 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
>>>