python - 如何在 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
循环仍然没有给我想要的输出。任何想法?谢谢 :)
解决方案
假设 in 中的所有 iddf2
也存在于 中,我们可以设置todf1
的索引并选择列来创建替换系列,然后用于替换 中的值。df1
EmpID
Employee Name
DataFrame.replace
df2
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
推荐阅读
- python - Countif pandas python用于带有通配符的多列
- python - jedi-vim 无法初始化 python
- sql-server - Dapper 查询是否在 QuerySingle 一笔交易中执行?
- sqlite - 当第一个选择查询返回 0 时从第二个选择查询获取结果
- python - 如何让 python 浏览网站并获取有用的数据?
- javascript - 使用 CSS 滚动行为时如何从 URL 中删除#id
- c++ - _wmemcpy 替换 64 位程序
- node.js - 从另一个控制器向控制器发布数据
- reactjs - 在 react-native 中使用导航发送参数
- javascript - vehicle.stop 不是函数 p5.js