Spec-Zone.ru › pandas 1

pandas.Series.dt.ceil

Series.dt.ceil(*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.ceil('H')
DatetimeIndex(['2018-01-01 12:00:00', '2018-01-01 12:00:00',
               '2018-01-01 13:00:00'],
              dtype='datetime64[ns]', freq=None)

Series

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

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

>>> rng_tz = pd.DatetimeIndex(["2021-10-31 01:30:00"], tz="Europe/Amsterdam")
>>> rng_tz.ceil("H", ambiguous=False)
DatetimeIndex(['2021-10-31 02:00:00+01:00'],
              dtype='datetime64[ns, Europe/Amsterdam]', freq=None)
>>> rng_tz.ceil("H", 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.Series.dt.ceil.html

Spec-Zone.ru

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