Spec-Zone.ru › pandas 1

pandas.TimedeltaIndex.round

TimedeltaIndex.round(*args, **kwargs)[source]

Округление данных до указанного freq.

Параметры
freq:str или смещение

Уровень частоты для округления индекса. Должен быть фиксированной частотой, например, ‘S’ (секунда), а не ‘ME’ (конец месяца). См. псевдонимы частоты для списка возможных значений freq.

ambiguous:'infer', bool-массив, 'NaT', по умолчанию 'raise'

Актуально только для DatetimeIndex:

  • ‘infer’ попытается определить часы перехода DST по порядку

  • bool-массив, где True означает время DST, а False — время вне DST (обратите внимание, что этот флаг применим только для неоднозначных времен)

  • ‘NaT’ вернёт NaT в случае неоднозначных времен

  • ‘raise’ вызовет AmbiguousTimeError, если есть неоднозначные времена.

nonexistent:'shift_forward', 'shift_backward', 'NaT', timedelta, по умолчанию 'raise'

Времени не существует в определенном часовом поясе, когда часы переводились вперёд из-за DST.

  • ‘shift_forward’ сдвинет несуществующее время вперёд к ближайшему существующему времени

  • ‘shift_backward’ сдвинет несуществующее время назад к ближайшему существующему времени

  • ‘NaT’ вернёт NaT в случае несуществующих времен

  • объекты timedelta сдвинут несуществующие времена на timedelta

  • ‘raise’ вызовет NonExistentTimeError, если есть несуществующие времена.

Возвращает
DatetimeIndex, TimedeltaIndex или Series

Индекс того же типа для DatetimeIndex или TimedeltaIndex, или Series со тем же индексом для Series.

Возбуждает
ValueError, если freq нельзя преобразовать.

Примечания

Если временные метки имеют часовой пояс, округление будет производиться относительно местного («стенного») времени и переведён обратно в тот же часовой пояс. При округлениях вблизи перехода на летнее время используйте nonexistent и ambiguous, чтобы управлять поведением перевода обратно в часовой пояс.

Примеры

DatetimeIndex

>>> rng = pd.date_range('1/1/2018 11:59:00', periods=3, freq='min')
>>> rng
DatetimeIndex(['2018-01-01 11:59:00', '2018-01-01 12:00:00',
               '2018-01-01 12:01:00'],
              dtype='datetime64[ns]', freq='T')
>>> rng.round('H')
DatetimeIndex(['2018-01-01 12:00:00', '2018-01-01 12:00:00',
               '2018-01-01 12:00:00'],
              dtype='datetime64[ns]', freq=None)

Series

>>> pd.Series(rng).dt.round("H")
0   2018-01-01 12:00:00
1   2018-01-01 12:00:00
2   2018-01-01 12:00:00
dtype: datetime64[ns]

При округлениях вблизи перехода на летнее время используйте ambiguous или nonexistent для управления тем, как должна быть переведена временная метка обратно в часовой пояс.

>>> rng_tz = pd.DatetimeIndex(["2021-10-31 03:30:00"], tz="Europe/Amsterdam")
>>> rng_tz.floor("2H", ambiguous=False)
DatetimeIndex(['2021-10-31 02:00:00+01:00'],
              dtype='datetime64[ns, Europe/Amsterdam]', freq=None)
>>> rng_tz.floor("2H", ambiguous=True)
DatetimeIndex(['2021-10-31 02:00:00+02:00'],
              dtype='datetime64[ns, Europe/Amsterdam]', freq=None)

© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.5.0/reference/api/pandas.TimedeltaIndex.round.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API