Иметь такой фрейм данных -
df = {'Request': [0, 0, 1, 0, 1, 0, 0],
'Time': ['16:00', '17:00', '18:00', '19:00', '20:00', '20:30', '24:00'],
'grant': [3, 0, 0, 5, 0, 0, 5]}
pd.DataFrame(df).set_index('Time')
Out[16]:
Request grant
Time
16:00 0 3
17:00 0 0
18:00 1 0
19:00 0 5
20:00 1 0
20:30 0 0
24:00 0 5
Значения в столбце «Запрос» являются логическими и обозначают, был ли сделан запрос или нет. 1 = запрос 0 = нет запроса. Значения в столбце «Предоставить» обозначают начальный размер предоставления.
Я хочу рассчитать время между запросом и грантом для каждого из запросов. Таким образом, в этом случае они будут 19:00 - 18:00 = 1 час и 24: 00-20: 00 = 4 часа. Есть ли способ легко выполнить эту операцию с большим набором данных с помощью панд?