Как рассчитать разницу во времени по группам с помощью панд?

проблема

Я хочу посчитать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 миллионов строк.

Ответы на вопрос(1)

Ваш ответ на вопрос