Spec-Zone.ru › pandas 1

pandas.TimedeltaIndex.floor

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

Выполнить операцию округления вниз данных до указанного freq.

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

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

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

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

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

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

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

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

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

Несуществующее время не существует в определённой временной зоне, где часы переходят вперёд из-за DST.

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

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

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

  • объекты 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.floor('H')
DatetimeIndex(['2018-01-01 11:00:00', '2018-01-01 12:00:00',
               '2018-01-01 12:00:00'],
              dtype='datetime64[ns]', freq=None)

Series

>>> pd.Series(rng).dt.floor("H")
0   2018-01-01 11: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.floor.html

Spec-Zone.ru

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