我有一个基于客户服务 case 结束前所在位置的Pandas 数据框架.每次编辑 case 并捕获审计审判时.我想为每一次 case 部门从之前所在的部门发生变化时生成一个计数器.
ID | Department | Start Date | End Date |
---|---|---|---|
A | Sales | 01/01/2022 | 02/01/2022 |
A | Sales | 02/01/2022 | 03/01/2022 |
A | Operations | 03/01/2022 | 04/01/2022 |
A | Sales | 04/01/2022 | 05/01/2022 |
B | Finance | 01/01/2022 | 02/01/2022 |
B | Risk | 02/01/2022 | 03/01/2022 |
我想要实现的输出如下所示,我正在努力解决的部分是当票据返回到它已经所在的部门时,使"部门更改计数"值增加.
ID | Department | Start Date | End Date | Count of Department Change |
---|---|---|---|---|
A | Sales | 01/01/2022 | 02/01/2022 | 0 |
A | Sales | 02/01/2022 | 03/01/2022 | 0 |
A | Operations | 03/01/2022 | 04/01/2022 | 1 |
A | Sales | 04/01/2022 | 05/01/2022 | 2 |
B | Finance | 01/01/2022 | 02/01/2022 | 0 |
B | Risk | 02/01/2022 | 03/01/2022 | 1 |
使用以下代码,我能够在部门针对给定 case 进行更改时进行标记.
df['Dept_Change_Count'] = np.where((df['Department'] != df['Department'].shift(1)) & (df['ID'] == df['ID'].shift(1)), '1', '0')
我想我可以使用df[Dept\u Change\u Count]和沿着ID的一个连续总和来生成我想要的输出,但到目前为止我运气不太好.
非常感谢您的帮助!