我有两个数据帧
DF_A
|id |name| email|
|0 | Jack | jack@gmail.com|
|1 | James | james@gmail.com|
|2 | Alice | alice@gmail.com|
DF_B
|id |name| email|
|2 | Alice | alice@live.com |
|3 | Allen | allen@gmail.com |
|4 | Amy | amy@gmail.com |
我想基于id合并两个数据帧,并使用df_a的电子邮件.get结果如下:
df_result
|id |name| email|
|0 |Jack | jack@gmail.com |
|1 |James| james@gmail.com|
|2 |Alice| alice@gmail.com|
|3 |Allen| allen@gmail.com|
|4 |Amy | amy@gmail.com |
与此question略有不同,因为id = 2 Alice 的电子邮件不同。
答案 0 :(得分:1)
您可以使用concat
+ drop_duplicates
指定检查对象列:
df = pd.concat([df_a, df_b]).drop_duplicates(['id','name'])
print (df)
id name email
0 0 Jack jack@gmail.com
1 1 James james@gmail.com
2 2 Alice alice@gmail.com
1 3 Allen allen@gmail.com
2 4 Amy amy@gmail.com