У меня есть кадр данных pandas с несколькими столбцами, однако для наглядности рассмотрим столбцы Id
и timestamp
. Как вы можете видеть, кадр данных pandas отсортирован по столбцу Id
.
Id timestamp
11 2018-10-19 13:00:00
11 2018-10-19 13:05:00
11 2018-10-19 13:06:00
11 2018-10-19 13:07:00
11 2018-10-19 13:30:00
11 2018-10-19 13:31:00
11 2018-10-19 13:32:00
11 2018-10-19 13:55:00
11 2018-10-19 13:54:00
11 2018-10-21 20:47:09
11 2018-10-21 20:48:27
11 2018-10-21 20:48:45
11 2018-10-21 20:48:52
12 2018-10-09 20:30:46
12 2018-10-09 20:30:22
12 2018-10-09 20:30:05
12 2018-10-09 20:29:44
12 2018-10-09 20:29:31
13 2018-10-19 18:49:08
13 2018-10-19 18:49:13
13 2018-10-11 18:46:15
14 2018-10-11 10:46:40
14 2018-10-23 10:39:52
Как создать еще один столбец ID
на основе промежутков времени в 10 минут? То есть для каждой временной отметки 10-минутного порога создайте новый другой `ID_2:
Id timestamp ID_2
11 2018-10-19 13:00:00 01
11 2018-10-19 13:05:00 01
11 2018-10-19 13:06:00 01
11 2018-10-19 13:07:00 01
11 2018-10-19 13:30:00 02
11 2018-10-19 13:31:00 02
11 2018-10-19 13:32:00 02
11 2018-10-19 13:55:00 03
11 2018-10-19 13:54:00 03
11 2018-10-21 20:47:09 04
11 2018-10-21 20:48:27 04
11 2018-10-21 20:48:45 04
11 2018-10-21 20:48:52 04
12 2018-10-09 20:30:46 04
12 2018-10-09 20:30:22 04
12 2018-10-09 20:30:05 04
12 2018-10-09 20:29:44 05
12 2018-10-09 20:29:31 05
13 2018-10-19 18:49:08 06
13 2018-10-19 18:49:13 06
13 2018-10-11 18:46:15 07
14 2018-10-11 10:46:40 07
Я попытался определить промежутки времени следующим образом:
df['col_new'] = (df['timestamp'].diff()).dt.seconds > 600
Однако я не понимаю, как применить обратную заливку для создания идентификаторов. Поэтому, как я могу обнаружить промежутки времени и назначить им новый идентификатор?