У меня есть фрейм данных pandas с уникальным идентификатором, этапом и датой, связанной с этим этапом. Я хотел бы создать новый столбец, показывающий время, проведенное на этом конкретном этапе. Это означает вычитание даты для этого уникального идентификатора за вычетом даты следующего этапа, связанного с тем же идентификатором. Поскольку данные сортируются по идентификатору и этапу, последний этап записи этого идентификатора должен выдать ошибку и прочитать «текущий» или нет. Это помогает увидеть данные ниже. Я думаю, что есть способ сделать несколько для циклов, но я не уверен, как это сделать.
Я пытался создать новые столбцы перед плавлением фрейма данных, но во многих случаях следующим этапом является н / п. Это не всегда этап 1 => 2 => 3 и т. Д., Он может быть пропущен непосредственно от этапа 1 к этапу 3.
example.describe
Opportunity_ID stage value
0061R00000l43xP 1.0 2018-11-07
0061R00000lUT5r 1.0 2019-05-02
0061R00000lUT5r 2.0 2019-05-22
0061R00000lUT5r 3.0 2019-06-03
80061R0000lUT5r 5.0 2019-06-20
0061R00000lUT5r 5.5 2019-09-10
0061R00000lXwZL 1.0 2018-12-05
0061R00000lXwZL 4.0 2019-04-09
0061R00000lXwZL 5.0 2019-04-19
0061R00000lXwZL 5.5 2019-04-19
0061R00000lXwZL 8.0 2019-05-03
0061R00000lXwZL 9.0 2019-07-09
0061R00000lXwZL 11.0 2019-08-02
0061R00000lY4Vm 1.0 2018-12-06
0061R00000lY4Vm 2.0 2019-09-26
0061R00000lrOGm 3.0 2019-02-15
0061R00000lrOGm 4.0 2019-09-18
[793 rows x 3 columns]>
example.dtypes
Opportunity_ID object
stage float64
value datetime64[ns]
dtype: object