Извините, если вопрос не ясен, позвольте мне описать мою проблему в этом посте. У меня есть следующий фрейм данных:
value created_at t_diff flag_1
0 18.930542 2019-03-03 21:43:08-05:00 00:00:00 1
1 18.895210 2019-03-03 21:44:09-05:00 00:00:00 1
2 18.895210 2019-03-03 21:45:09-05:00 00:00:00 1
3 18.885010 2019-03-03 21:46:10-05:00 00:04:04 2
4 0.000000 2019-03-03 21:47:11-05:00 00:04:04 2
5 0.000000 2019-03-03 21:48:12-05:00 00:04:04 2
6 0.000000 2019-03-03 21:49:13-05:00 00:04:04 2
7 0.000000 2019-03-03 21:50:14-05:00 00:04:04 2
8 18.857025 2019-03-03 21:51:14-05:00 00:00:00 3
9 18.847290 2019-03-03 21:52:15-05:00 00:00:00 3
10 18.847290 2019-03-03 21:53:17-05:00 00:00:00 3
11 18.873283 2019-03-03 21:54:17-05:00 00:00:00 3
12 18.873283 2019-03-03 21:55:19-05:00 00:00:00 3
13 18.837677 2019-03-03 21:56:19-05:00 00:00:00 3
20 18.830170 2019-03-03 22:03:25-05:00 00:00:00 5
21 18.826149 2019-03-03 22:04:26-05:00 00:00:00 5
22 18.826149 2019-03-03 22:05:27-05:00 00:00:00 5
23 18.830795 2019-03-03 22:06:28-05:00 00:00:00 5
Из столбца 'flag_1' я бы хотел определить элементы, которые, несмотря на повторение, образуют последовательность последовательных чисел. Результат, который я желаю, похож на следующий
value created_at t_diff flag_1 flag_2
0 18.930542 2019-03-03 21:43:08-05:00 00:00:00 1 1
1 18.895210 2019-03-03 21:44:09-05:00 00:00:00 1 1
2 18.895210 2019-03-03 21:45:09-05:00 00:00:00 1 1
3 18.885010 2019-03-03 21:46:10-05:00 00:04:04 2 1
4 0.000000 2019-03-03 21:47:11-05:00 00:04:04 2 1
5 0.000000 2019-03-03 21:48:12-05:00 00:04:04 2 1
6 0.000000 2019-03-03 21:49:13-05:00 00:04:04 2 1
7 0.000000 2019-03-03 21:50:14-05:00 00:04:04 2 1
8 18.857025 2019-03-03 21:51:14-05:00 00:00:00 3 1
9 18.847290 2019-03-03 21:52:15-05:00 00:00:00 3 1
10 18.847290 2019-03-03 21:53:17-05:00 00:00:00 3 1
11 18.873283 2019-03-03 21:54:17-05:00 00:00:00 3 1
12 18.873283 2019-03-03 21:55:19-05:00 00:00:00 3 1
13 18.837677 2019-03-03 21:56:19-05:00 00:00:00 3 1
20 18.830170 2019-03-03 22:03:25-05:00 00:00:00 5 2
21 18.826149 2019-03-03 22:04:26-05:00 00:00:00 5 2
22 18.826149 2019-03-03 22:05:27-05:00 00:00:00 5 2
23 18.830795 2019-03-03 22:06:28-05:00 00:00:00 5 2
Столбец с именем 'flag_2' должен заполняться числовым идентификатором каждый раз, когда происходят эти "последовательности" из повторяющихся последовательных чисел. 1 для первого, 2 для второго, 3 для третьего и т. Д.
Я пытался сделать это косвенно, используя df.flag_1.unique (), а затем с помощью more-itertools создал вложенный список, который я зациклил бы, разрезая фрейм данных с помощью Исин из Панд .
Я хотел бы знать, есть ли способ сделать все это с помощью Pandas и без использования more-itertools и остального моего подхода.
Можете ли вы помочь мне, пожалуйста? Заранее спасибо!