首页 > 解决方案 > 基于 2 列合并数据框

问题描述

创建一个输出数据框,其中包含要根据工作代码、工作地点和分配给员工的一组 3 个随机课程分配给 emp 的培训课程列表。

请注意,工作代码和工作地点需要被视为主键,因为相同的工作代码将在不同的工作地点可用。

有 2 个数据框,第一个数据框包含 Emp 详细信息。

import pandas as pd
emp_data = { 
'emp_id': [123456, 234567, 456789],
'job_code':[111,222,111],
'work_location':[123,234,123]
 }
 emp_data = pd.DataFrame(emp_data)

企业数据

而第二个数据框包含要根据工作代码、工作地点和需要参加课程的日期参加的培训课程。

import pandas as pd
training_matrix = { 
'job_code':[111,111,111,111,111,111,222,222,222,222,222,222],
'work_location':[123,123,123,234,234,234,123,123,123,234,234,234],
'days': [1,2,3,1,2,3,1,2,3,1,2,3],
'course': ['Course1', 'Course2', 'Course3','Course4','Course5','Course6','Course7','Course8','Course9','Course10','Course1','Course2'] 
    }

training_matrix = pd.DataFrame(training_matrix)

训练矩阵

输出数据框:

import pandas as pd
output = { 
'emp_id': [123456,123456,123456,234567,234567, 234567,456789,456789, 456789],
'job_code':[111,111,111,222,222,222,111,111,111],
'work_location':[123,123,123,234,234,234,123,123,123],
'days': [1,2,3,1,2,3,1,2,3],
'course': ['Course1', 'Course2', 'Course3','Course4','Course5','Course6','Course7','Course8','Course9'] 
    }

output = pd.DataFrame(output)
output

输出

我尝试过合并,但这在这里没有帮助,我坚持想出一个逻辑。任何帮助将不胜感激。

谢谢

标签: pandas

解决方案


推荐阅读