У меня есть ситуация, когда мне нужно рассчитать срок службы сотрудника в компании X в годах. Данные доступны в следующем формате:
df =
EID Event_Name Event_Date
1 Hired 03/09/1990 00:00:00
1 Terminated 14/10/2005 00:00:00
1 Rehired 02/11/2015 00:00:00
2 Hired 03/10/1990 00:00:00
2 Terminated 15/10/2005 00:00:00
Расчет срока владения достаточно прост для понимания:
Сначала вычислите разницу между Hired и Завершенная секунда Рассчитайте разницу между сегодняшней датой и Rehired (если применяется rehired, в противном случае игнорируйте)
Пример: Для EID = 1: срок владения:
(LAST JOB WORKED WITH COMPANY X) 14/10/2005 00:00:00 - 03/09/1990 00:00:00 = 5520 days
(REHIRED WITH COMP X AND STILL WORKING) 25/04/2020 00:00:00 - 02/11/2015 00:00:00 = 1636 days
Общий срок владения в днях = (5520 + 1636) / 365 = 19,6 года
и аналогично для других EID
Результат должен выглядеть следующим образом:
EID Tenure(Years)
1 19.6
2 15.04