私はいくつかの申請者のトランザクションデータを変換しています。私は新しいフラグ列を作成する必要があります(私の例では "DESIRED FLAG"というラベルが付けられています)。しかし、私は正しいループ/適用法を理解することができません。なぜなら、下のロジックには非常に多くの異なるバリエーションが存在する可能性があるからです。この場合、Pandas apply/loopメソッドは何がベストですか?
完璧な世界では、シーケンシャル申請プロセス履歴が「完了」に設定されたすべての「ステータス」で、次のようになります。
- オンサイトのインタビューがキックオフ - >スケジュールインタビュー - >決定; OR
- 電話インタビューキックオフ - >スケジュールインタビュー - >意思決定
そしてもちろん、出願人は、その申請の処理中に多くの電話インタビューを通じて、オンサイトに行くことができます。
以下の例に示すように、「スケジュールインタビュー」がキャンセルされることがあります。そのような場合、私はそのステップとそれに関連する後続のステップを削除する必要があります。 「スケジュールインタビュー」「決定」「オンサイトインタビューキックオフ」「電話インタビューキックオフ」などがあります。また、手作業でスキップしたような他の「イベント」もあります。
私はのためのフラグを作成する必要があるシナリオの他の種類を持っているので、私はちょうど新しいコラムで、元のデータフレームを維持する必要があります。
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