我有两个要左连接的表
表A
x
表B
ID | Name | Birthday | Salary
1 | Tom | 01/12/80 | 29382
2 | Kate | 21/2/90 | 39383
3 | Ini | 23/8/92 | 28287
我想和
这样的结果进行左连接ID | Name | Birthday | Home
1 | Tom | 01/2/80 | Chur
2 | Kate | 21/2/90 | Blu
3 | Ini | 20/9/92 | La
我的代码是
ID | Name | Birthday | Salary | Home
1 | Tom | 01/12/80 | 29382 | Chur
2 | Kate | 21/2/90 | 39383 | Blu
3 | Ini | 23/8/92 | 28287 | La
但是结果像
一样出现join_table = tableA.merge(tableB['Home'], how = 'left', on =['ID'])
ID 1和3是重复的,因为它们的生日数据不同,但两个表中的ID相同。 有人可以帮忙吗?谢谢
答案 0 :(得分:0)
尝试使用:
join_table = tableA.merge(tableB['Home'], how = 'left', on =['ID']).drop_duplicates(subset=['Name'], keep='first')
答案 1 :(得分:0)
希望这会有所帮助:在tableB合并中包含“ ID”和“主页”
join_table = tableA.merge(tableB[['ID','Home']], how = 'left', on =['ID'])
print(join_table)
输出:
ID Name Birthday Salary Home
0 1 Tom 01/12/80 29382 Chur
1 2 Kate 21/2/90 39383 Blu
2 3 Ini 23/8/92 28287 La
答案 2 :(得分:0)
import pandas as pd
pd.merge(tableA,tableB,on=['ID','Name','Birthday'],how='left')
答案 3 :(得分:0)
因为您不需要表B的生日,所以不要使用它并合并到“名称”或“ ID”上:
join_table = tableA.merge(tableB['Home','Name','ID'], how = 'left', on = 'ID')