Python 熊猫的vlookup行为

Python 熊猫的vlookup行为,python,pandas,vlookup,Python,Pandas,Vlookup,我想让vlookup行为合并两个数据帧。 假设我在excel中有以下表格: 使用vlookup将“staus”列添加到表2中,结果如下: 对于代码“124”,将返回第一个对应的状态“a”。这正是我需要的 我尝试用python编写代码以获得所需的输出,如下所示: Table1 = pd.DataFrame({"section" : ["1","2","1","2","2","2"], "code" : [124,254,156,147,124,156], "status" : ["a","b"

我想让vlookup行为合并两个数据帧。 假设我在excel中有以下表格:

使用vlookup将“staus”列添加到表2中,结果如下:

对于代码“124”,将返回第一个对应的状态“a”。这正是我需要的

我尝试用python编写代码以获得所需的输出,如下所示:

Table1 = pd.DataFrame({"section" : ["1","2","1","2","2","2"], "code" : [124,254,156,147,124,156], "status" : ["a","b","c", "a", "b", "c"]})

Table2 = pd.DataFrame({"code": [124,254,156,147]})

我可以设法删除结果中的重复项,但是我仍然有两行代码“124”,状态为“a”和“b”

我也搜索过类似这样的帖子,但那没有帮助。
任何关于解决方案的建议都将不胜感激。

只需使用
Table2.merge(Table1,on=“code”)。drop_duplicates(“code”)
?您需要在合并前将duplicates删除到第一个表中。@datanoveler,但表1中的代码“124”不重复。第一行有第1节和状态a,第二条记录有第2节和状态b。是的,您正在进行右连接,因此它会返回右表中的每个键以及左表中的匹配键,这是预期的行为?@datanovel,但我只希望有第一个匹配项。
result1 = Table1.iloc[:,1:].merge(Table2, on = 'code')
result2 = Table1.iloc[:,1:].merge(Table2, on = 'code', how = 'right')