1 回答
TA贡献1839条经验 获得超15个赞
您可以使用正则表达式从employee_idin 中删除尾随字母Employee_Logs_df,然后将其映射到您的姓名HR_Data_df:
new_df = Employee_Logs_df.assign(name = Employee_Logs_df.employee_id
.str.extract('(.*\d+)',expand=False)
.map(HR_Data_df.set_index('employee_id')['name']))
>>> new_df
employee_id action name
0 2325255b login Rob
1 51666164 login Tom
2 51666164v login Tom
3 r1211 logoff Tammy
4 r18552421 login Ron
如果你愿意,你可以用合并做一些非常相似的事情:
new_df = Employee_Logs_df.merge(HR_Data_df.set_index('employee_id'),
left_on=Employee_Logs_df.employee_id
.str.extract('(.*\d+)',expand=False),
right_index=True)
>>> new_df
employee_id action name
0 2325255b login Rob
1 51666164 login Tom
2 51666164v login Tom
3 r1211 logoff Tammy
4 r18552421 login Ron
添加回答
举报