У меня есть временный фреймворк данных df
выглядит так (время seris происходит в тот же день, но через разные часы:
id val
time
2014-04-03 16:01:53 23 14389
2014-04-03 16:01:54 28 14391
2014-04-03 16:05:55 24 14393
2014-04-03 16:06:25 23 14395
2014-04-03 16:07:01 23 14395
2014-04-03 16:10:09 23 14395
2014-04-03 16:10:23 26 14397
2014-04-03 16:10:57 26 14397
2014-04-03 16:11:10 26 14397
Мне нужно создать группу каждые 5 минут, начиная с 16:00:00
. Это все строки с диапазоном от 16:00:00
до 16:05:00
, его значение нового столбца period
равно 1. (количество строк внутри каждой группы нерегулярно, поэтому я не могу просто отрезать группу)
В конце концов, данные должны выглядеть так:
id val period
time
2014-04-03 16:01:53 23 14389 1
2014-04-03 16:01:54 28 14391 1
2014-04-03 16:05:55 24 14393 2
2014-04-03 16:06:25 23 14395 2
2014-04-03 16:07:01 23 14395 2
2014-04-03 16:10:09 23 14395 3
2014-04-03 16:10:23 26 14397 3
2014-04-03 16:10:57 26 14397 3
2014-04-03 16:11:10 26 14397 3
Цель состоит в выполнении некоторой операции groupby
, но операция, которую мне нужно сделать, не включена в метод pd.resample(how=' ')
. Поэтому я должен создать столбец period
, чтобы идентифицировать каждую группу, а затем сделать df.groupby('period').apply(myfunc)
.
Любая помощь или комментарии высоко оценены.
Спасибо!