Как рассчитать разницу во времени по группам с помощью панд?
проблема
Я хочу посчитатьdiff
по группам. И я не знаю, как сортироватьtime
столбец, так что результаты каждой группы отсортированы и положительные.
Исходные данные:
In [37]: df
Out[37]:
id time
0 A 2016-11-25 16:32:17
1 A 2016-11-25 16:36:04
2 A 2016-11-25 16:35:29
3 B 2016-11-25 16:35:24
4 B 2016-11-25 16:35:46
Результат, который я хочу
Out[40]:
id time
0 A 00:35
1 A 03:12
2 B 00:22
обратите внимание: тип времени - это timedelta64 [нс]
ПопыткаIn [38]: df['time'].diff(1)
Out[38]:
0 NaT
1 00:03:47
2 -1 days +23:59:25
3 -1 days +23:59:55
4 00:00:22
Name: time, dtype: timedelta64[ns]
Не получить желаемый результат.
надеждаНе только решить проблему, но код может работать быстро, потому что есть 50 миллионов строк.