У меня есть pandas df, который имеет 2 столбца День (Дата в формате даты и времени) и Количество разбивок .
Я хочу создать два новых столбцапервый из них Days of Previous Breakdown Event (что я уже сделал), а второй - Days from Next Breakdown Event (который я изо всех сил пытаюсь сделать).
Day Number of breakdowns Days from Previous Breakdown Event
2017-01-09 0.0 0
2017-01-12 0.0 0
2017-01-13 0.0 0
2017-01-14 0.0 0
2017-01-16 1.0 0
2017-01-17 0.0 1
2017-01-18 0.0 2
2017-01-19 1.0 0
2017-01-20 0.0 1
2017-01-21 0.0 2
2017-01-23 1.0 0
Событие «Дни после предыдущего пробоя» рассчитывает количество дней, прошедших с момента сбоя.
Код:
s = df.groupby(df['Number of breakdowns'].ne(0).cumsum())['Day'].transform('first')
df['Days from Previous Breakdown Event'] = (df['Day'] - s).dt.days
zeros_index = df['Number of breakdowns'].ne(0).idxmax()
df.loc[:zeros_index,'Days from Previous Breakdown Event'] = 0
Мне нужна помощь в разбивке по столбцам Дни от следующего, которую я хочу выглядеть следующим образом:
Day Number of breakdowns Days from Next Breakdown Event
2017-01-09 0.0 7
2017-01-12 0.0 4
2017-01-13 0.0 3
2017-01-14 0.0 2
2017-01-16 1.0 0
2017-01-17 0.0 2
2017-01-18 0.0 1
2017-01-19 1.0 0
2017-01-20 0.0 3
2017-01-21 0.0 2
2017-01-23 1.0 0