比较Dataframe中的一列与pandas中不同大小的另一列



所以我有两个数据框一个是工作信息,另一个是人名和头衔,如下所示

jobTitle = {'Role': ['Level1','Level2','Level3'],
'Position': ['Manager','Engineer','Assistant']
'Salary': [1,2,3]
}
job_df = pd.DataFrame(jobTitle,columns=['Role','Position','Salary'])
person = {'Name':['John','Shawn'],
'Level1':['Level2','Level1'],
'Position1': ['Engineer','Manager']}
person_df = pd.DataFrame(person,columns=['Name','Level1','Position1'])

我想将每个人的角色和职位与jobTitle数据框进行比较,并在person中添加一个包含薪水的新列

尝试使用pd.DataFrame.merge:

>>> person_df.merge(job_df, left_on=['Level1', 'Position1'], right_on=['Role', 'Position']).drop(job_df.columns[:2], axis=1)
Name  Level1 Position1  Salary
0   John  Level2  Engineer       2
1  Shawn  Level1   Manager       1
>>> 

最新更新