У меня есть dataframe (серия) индексируется DatetimeIndexКак группировать метки времени с помощью ярлыков?
tag
2015-08-21 16:32:00 stationary
2015-08-21 16:33:00 automotive
2015-08-21 16:34:00 automotive
2015-08-21 17:27:00 stationary
2015-08-21 17:28:00 stationary
2015-08-21 17:29:00 stationary
2015-08-21 17:30:00 stationary
2015-08-21 17:31:00 stationary
2015-08-21 17:32:00 stationary
2015-08-24 16:55:00 automotive
2015-08-24 16:56:00 automotive
2015-08-24 16:57:00 automotive
2015-08-24 16:58:00 automotive
2015-08-24 16:59:00 stationary
2015-08-24 17:00:00 stationary
2015-08-24 17:01:00 stationary
хочет GroupBy тег и совокупный индекс времени, поэтому ожидаемого результат
Start End Tag
- 2015-08-21 16:32:00 stationary
2015-08-21 16:34:00 2015-08-21 16:34:00 automotive
2015-08-21 17:27:00 2015-08-21 17:32:00 stationary
2015-08-24 16:55:00 2015-08-24 16:58:00 automotive
2015-08-24 16:59:00 2015-08-24 17:01:00 stationary
Очень элегантный. Однако, протестированный на больших фреймах данных, он, кажется, работает очень медленнее: 9 секунд против 90 мс, используя мой ответ на 10000 строк. – Omar
@ Омар согласился. Эта конкретная операция 'groupby' включает итерацию по слишком большому количеству подгрупп, а создание новой' pd.Series' в каждой группе приводит к большим накладным расходам, если функция вызывается так много раз (в случае, если тег изменяется так часто). Ваш подход полностью основан на векторизации 'numpy.array' и намного быстрее в этом сценарии. –