Я пытаюсь написать цикл for, который будет выполнять итерацию, и для каждого уникального идентификатора будет рассчитываться время, затрачиваемое в каждом SubmissionStatus (например, в ожидании OSPA, в ожидании отдела), и сохранять результаты в списке словарей, где каждый словарь соответствует каждый уникальный идентификатор. Затраченное время рассчитывается путем взятия самого раннего значения LastModified, когда состояние находится в определенной фазе, и вычитания этого значения из значения LastModified при изменении состояния на следующую фазу (когда SubmissionStatus переходит из Pending OSPA в Pending Department, я бы взял Отметка времени LastModified из строки и вычитание самой низкой отметки времени последнего изменения, когда SubmissionStatus находится в состоянии ожидания OSPA, например 04/05 / 2018-04 / 01/2018 = 4 дня + 04/06 / 2018-04 / 05/2018 = 1 день, итого = 5 дней)
Ввод данных - кадр данных панд:
ID LastModified SubmissionStatus
0 1 04/01/2018 Pending OSPA
1 1 04/03/2018 Pending OSPA
2 1 04/05/2018 Pending Department
3 1 04/06/2018 Pending OSPA
4 2 04/02/2018 Pending OSPA
5 2 04/03/2018 Pending Department
6 2 04/05/2018 Complete
вывод представляет собой список словарей:
[
{ ID : 1,
DaysWithOSPA: 5,
DaysWithDepartment: 1},
{ ID : 2,
DaysWithOSPA:1
DaysWithDepartment:2}]