У меня есть DataFrame с датами , категорий и столбцом, показывающим, произошло ли одноразовое событие дляэта категория. Я хочу создать новый столбец со временем до события, или какого-либо индикатора, в котором нет события, например, отрицательного времени.
Набор данных довольно большой, и я представляю, что есть лучшее решение, чем грубое форсирование этого с помощью петель, которое кто-то лучше знает с Пандами!
Итак, короче, если я создаммой набор данных вот так:
import pandas as pd
#create example dataset
data = {'categories':['a','b','c']*4,'dates':[i for i in range(4) for j in range(3)],'event':[0]*3*4}
#add a couple of events
data['event'][4] = 1
data['event'][9] = 1
df = pd.DataFrame(data)
Как мне лучше всего получить вывод, похожий на этот?
categories dates event time_until
0 a 0 0 3
1 b 0 0 1
2 c 0 0 -1
3 a 1 0 2
4 b 1 1 0
5 c 1 0 -1
6 a 2 0 1
7 b 2 0 -1
8 c 2 0 -1
9 a 3 1 0
10 b 3 0 -1
11 c 3 0 -1
Спасибо за вашу помощь!