首页 > 解决方案 > 如何在 Pandas 中使用合并或 VLOOKUP 功能合并两个数据框

问题描述

我有两个数据框:

df1

    EmID    Employee Name
0   12345   Frist Person
1   35658   Second Person
2   65865   Third Person
3   28568   Foo Person
4   26699   Boo Person

df2

    Manager ID  Subordinate ID
1   28568       35658   
2   12466       12358
3   35658       12345   

我想合并这两个数据框,这样我的输出应该如下所示:

    Manger Name  Emp Name      
1   Foo Person  Second Person   

我用过df2.merge(df1, left_on = ManagerID, right_on = EmID),但我没有得到我要找的东西。我也尝试使用for循环仍然没有给我想要的输出。任何想法?谢谢 :)

标签: pythonpandasdataframe

解决方案


假设 in 中的所有 iddf2也存在于 中,我们可以设置todf1的索引并选择列来创建替换系列,然后用于替换 中的值。df1EmpIDEmployee NameDataFrame.replacedf2

df3 = df2.replace(df1.set_index('EmID')['Employee Name'])
df3.columns = ['Manager name', 'Emp name']

>>> df3

    Manager name       Emp name
1     Foo Person  Second Person

推荐阅读