Раунд DateTime с использованием панд - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу округлить функцию DateTime таким образом, чтобы она преобразовывалась в начальное значение каждые 10 минут.В приведенном ниже примере показан желаемый результат:

     Actual Time              |        Round Time(within 10 min interval)


  2016-01-01 05:47:46                      2016-01-01 05:40:00
  2016-01-01 05:49:58                      2016-01-01 05:40:00
  2016-01-01 05:50:01                      2016-01-01 05:50:00
  2016-01-01 05:59:58                      2016-01-01 05:50:00  

Приведенный ниже код округляет его до ближайшего 10-минутного интервала вместо того, чтобы всегда указывать минимальное значение.

df['DateTime'].agg(lambda x : x.round('10min'))

Округляет элемент DateTime доближайшее значение.

   Actual Time              |        Round Time(within 10 min interval)

  2016-01-01 05:47:46                      2016-01-01 05:50:00
  2016-01-01 05:49:58                      2016-01-01 05:50:00
  2016-01-01 05:50:01                      2016-01-01 05:50:00
  2016-01-01 05:59:58                      2016-01-01 06:00:00  

Время округления таким образом, что оно падает вблизи значения минимального значения.

1 Ответ

0 голосов
/ 11 декабря 2018

Использование Series.dt.floor:

df['Round Time'] = df['DateTime'].dt.floor('10min')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...