我正在改变一些申请人的交易数据,我需要创建一个新的标志列(在我的例子中标记为“DESIRED FLAG”)。但是,我无法弄清楚正确的循环/应用方法,因为在下面的逻辑中可能有很多不同的变化。这种情况下最好的熊猫应用/循环方法是什么?
在一个完美的世界里,连续申请过程中的历史是这样的,所有的“状态”的设置为“已完成”:
- 现场采访开球 - >安排面试 - >决策; OR
- 电话采访开球 - >安排面试 - >决策
当然,申请人可以顺利通过很多电话面试和站点在他们的申请过程。
如下面的例子所示,有时会有“Schedule Interviews”被取消。在这些情况下,我需要删除该步骤以及与此相关的后续步骤。其中包括“时间表访谈”,“决定”和“现场访谈开始”或“电话采访开始”。另外,有时还会有其他“事件”,就像我们看到的手动跳过的那样。
我还有其他类型的,我需要为标志的情况,所以我需要保持原有的数据框只新列。
import pandas as pd
data = {'Employee ID': ["100","100", "100", "100","100","100","100","100","100","100","200", "200", "200","200","200","200","200","300","300", "300", "300","300","300","300"],
'Completed On Date': ["2009-01-01","2010-01-01","2011-06-05","2012-07-01","2013-01-01","2014-01-01","2015-01-01","2016-01-01","2017-01-01","2018-01-01","2010-01-01","2011-06-05","2012-07-01","2012-08-15","2013-01-01","2014-01-01","2015-01-01","2009-01-01","2010-01-01","2011-06-05","2012-07-01","2013-01-01","2014-01-01","2015-01-01"],
'Event': ["Decision","On-Site Interview Kick Off","Schedule Interviews","Decision","On-Site Interview Kick Off","Schedule Interviews","Decision","Phone Interview Kick Off","Schedule Interviews","Decision","On-Site Interview Kick Off","Schedule Interviews","Decision","Decision","Phone Interview Kick Off","Schedule Interviews","Decision","Job Apply","Phone Interview Kick Off","Schedule Interviews","Decision","On-Site Interview Kick Off","Schedule Interviews","Decision"],
'Event Status': ["Completed","Completed","CANCELED","Completed","Completed","Completed","Completed","Completed","Completed","Completed","Completed","CANCELED","Manually Skipped","Completed","Completed","Completed","Completed","Completed","Completed","CANCELED","Completed","Completed","Completed","Completed"],
'DESIRED FLAG': ["Keep","Keep","Remove","Remove","Remove","Keep","Keep","Keep","Keep","Keep","Keep","Remove","Remove","Remove","Remove","Keep","Keep","Keep","Keep","Remove","Remove","Remove","Keep","Keep"]}
df = pd.DataFrame(data, columns=['Employee ID','Completed On Date','Event','Event Status','DESIRED FLAG'])
df = df.sort_values(by=(['Employee ID','Completed On Date']))
df
如果您可以发布所需输出的样子,这将非常有帮助。 – pshep123
请参阅'DESIRED FLAG'列。这就是输出结果的样子。谢谢! – Christopher
明白了。有助于以数据框的形式呈现,但也许这只是我。 – pshep123