pandas.TimedeltaIndex.ceil
- TimedeltaIndex.ceil(*args, **kwargs)[source]
-
Выполняет операцию округления вверх данных до указанного freq.
- Параметры:
-
- freq:строка или смещение
-
Уровень частоты для округления вверх индекса. Должна быть фиксированная частота, например, ‘S’ (секунда), а не ‘ME’ (конец месяца). Список возможных значений freq см. в псевдонимах частоты.
- ambiguous:'infer', булевый массив, 'NaT', по умолчанию 'raise'
-
Актуально только для DatetimeIndex:
‘infer’ попытается определить часы перехода DST по порядку
булевый массив, где 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='min') >>> 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/2.2.2/reference/api/pandas.TimedeltaIndex.ceil.html