У меня есть следующий фрейм данных.
id start finish location
0 1 2015-12-14 16:44:00 2015-12-15 18:00:00 A
1 1 2015-12-15 18:00:00 2015-12-16 13:00:00 B
2 1 2015-12-16 13:00:00 2015-12-16 20:00:00 C
3 2 2015-12-10 13:15:00 2015-12-12 13:45:00 B
4 2 2015-12-12 13:45:00 2015-12-12 19:45:00 A
5 3 2015-12-15 07:45:00 2015-12-15 18:45:00 A
6 3 2015-12-15 18:45:00 2015-12-18 07:15:00 D
7 3 2015-12-18 07:15:00 2015-12-19 10:45:00 C
8 3 2015-12-19 10:45:00 2015-12-20 09:00:00 H
9 4 2015-12-09 10:45:00 2015-12-13 12:20:00 E
10 4 2015-12-13 12:20:00 2015-12-13 18:20:00 A
11 4 2015-12-13 18:20:00 2015-12-13 23:40:00 A
12 4 2015-12-13 23:40:00 2015-12-16 08:00:00 B
13 5 2015-12-07 08:00:00 2015-12-13 12:25:00 H
Я хотел вычислить переходы из одного местоположения в другое в каждом 'id'.Для этого количества прыжков сначала я хотел сравнить дату и время окончания столбца с датой и временем начала столбца следующей строки того же идентификатора.Если он совпадает, я хочу, чтобы счет равнялся 1 другому. Что я хочу получить, это следующее:
id start count
0 1 2015-12-14 16:44:00 1
1 1 2015-12-15 18:00:00 1
2 1 2015-12-16 13:00:00 0
3 2 2015-12-10 13:15:00 1
4 2 2015-12-12 13:45:00 0
5 3 2015-12-15 07:45:00 1
6 3 2015-12-15 18:45:00 1
7 3 2015-12-18 07:15:00 1
8 3 2015-12-19 10:45:00 0
9 4 2015-12-09 10:45:00 1
10 4 2015-12-13 12:20:00 1
11 4 2015-12-13 18:20:00 1
12 4 2015-12-13 23:40:00 0
13 5 2015-12-07 08:00:00 0
Как только я получу это, я хотел бы суммировать количество на основе даты кполучить что-то вроде следующего:
date count_sum
2015-12-07 0
2015-12-09 1
2015-12-10 1
2015-12-12 0
2015-12-13 2
2015-12-14 1
2015-12-15 3
2015-12-16 0
2015-12-18 1
2015-12-19 0
Для меня последнюю часть легко сделать, выполнив groupby () на основе даты и используя .sum () для суммирования всех подсчетов на эту дату.Но как получить первую часть, где мы считаем реальные прыжки, не ясно.Любая помощь будет оценена.