I have two data frame:
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
I want to merge this two data frames so that my output should looks like:
Manger Name Emp Name
1 Foo Person Second Person
I have used df2.merge(df1, left_on = ManagerID, right_on = EmID) but I didn't get what I am looking for. I have also try to use for loop still doesn't give me the desired out put. Any idea? Thanks :)
CodePudding user response:
Assuming all the id's in df2 are also present in df1, we can set the index of df1 to EmpID and select Employee Name column to create replacement series, then use DataFrame.replace to substitute the values in 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
CodePudding user response:
Share the output you are getting using above code. I can't comment so writing here as an answer
