Python 3.x 在合并上应用函数

Python 3.x 在合并上应用函数,python-3.x,pandas,merge,min,concat,Python 3.x,Pandas,Merge,Min,Concat,我有两个数据帧。片段粘贴在下面 雇员 计划 这两个数据框都有公共列“Level”和“skill”,我需要将Employee数据框的“EmployeeID”列合并到Project数据框中。但问题是,我需要将这些员工ID添加到成本最低的项目中。我该怎么做 您可以,删除重复项选择最低成本 Employee=Employee.sort_values(['Level','skill','CostToCompany']).drop_duplicates(['Level','skill','Rating'

我有两个数据帧。片段粘贴在下面

雇员

计划

这两个数据框都有公共列“Level”和“skill”,我需要将Employee数据框的“EmployeeID”列合并到Project数据框中。但问题是,我需要将这些员工ID添加到成本最低的项目中。我该怎么做


您可以,
删除重复项
选择最低成本

Employee=Employee.sort_values(['Level','skill','CostToCompany']).drop_duplicates(['Level','skill','Rating'],keep='first')
那么

Project1=pd.merge(Project,Employee['Level','skill','Employee ID'].on='cols')
或者,您可以使用您的结果执行以下操作:

Project1.sort_values(['Level','skill','CostToCompany']).drop_duplicates(['Level','skill','Rating'],keep='first')

我的项目数据框有10行。所以最终在合并时,我应该有10行,但我得到了20行。同样,同一套技能和水平集在不同的EmployeeID
Project1=pd.merge(项目,员工['Level','skill','Rating'])中重复。在class='cols',how='left')
,请确保您删除重复项,就像我在第一行中所做的一样。我认为我不应该在删除重复项时使用'Rating'。然后它给我10分rows@Biswa是的,你是对的,没有数据很难编写代码,所以下次请不要再显示图片了,伙计~:-)谢谢,伙计。我将注意到这一点。你的代码起作用了