【发布时间】:2018-08-16 00:03:09
【问题描述】:
- 以下是一个候选人 (df_wrong) 的原始数据集。
- 它有一些正确的行和一些不正确的行。如果阶段的时间戳不遵循 stage_names 的相应顺序逻辑,则认为该行不正确。例如:阶段名称必须按照[已申请、屏幕调用、Hometask、Hometask 审查、第一次面试、第二次面试等] 的顺序出现。每个阶段只能发生一次,并且必须按照上面显示的顺序连续发生
所以这是 df_wrong:
df_wrong = pd.DataFrame({'stage_name':['Applied', 'Screen call', 'Hometask', '2nd interview',
'Hometask review','Screen call', '2nd interview' ],
'stage_num': [1,2,3,6,4,2,6],
'stage_time_mooving_in': ['2018-08-10 12:00:00', '2018-08-10 13:00:00', '2018-08-10 14:00:00',
'2018-08-10 15:00:00', '2018-08-10 16:00:00', '2018-08-10 17:00:00',
'2018-08-10 19:00:00']})
我想创建一个算法,将错误的表格转换为正确的表格:
df_right = pd.DataFrame({'stage_name':['Applied', 'Screen call', 'Hometask', 'Hometask review',
'2nd interview' ],
'stage_num': [1,2,3,4,6],
'stage_time_mooving_in': ['2018-08-10 12:00:00', '2018-08-10 13:00:00',
'2018-08-10 14:00:00', '2018-08-10 16:00:00',
'2018-08-10 19:00:00']})
我的问题是如何创建这样的算法。我尝试对 df 进行排序并删除重复项,但我不知道如何让它适用于所有情况。
所有阶段,可以在此表中列出的我的管道中:
full_pipeline = pd.DataFrame({'stage_name':['Applied', 'Screen call',
'Hometask', 'Hometask review',
'1st interview', '2nd interview',
'Final interview','Offer'],
'stage_num': [1,2,3,4,5,6,7 ,8]})
注意:有一些建议可以帮助创建算法:
- 由于填写方式,第一行和最后一行始终正确。
- 请注意,所有阶段都可以在此表中。
【问题讨论】:
标签: python python-3.x algorithm pandas