pandas.Timestamp.floor
- Timestamp.floor(freq, ambiguous='raise', nonexistent='raise')
-
Возвращает новый объект Timestamp, округлённый до указанного разрешения.
- Параметры
-
- freq:строка
-
Строка, указывающая разрешение округления.
- ambiguous:логическое значение или {‘raise’, ‘NaT’}, по умолчанию ‘raise’
-
Поведение определяется следующим образом:
Логическое значение содержит флаги, определяющие, является ли время летним или нет (обратите внимание, что этот флаг применим только к неоднозначным датам перехода на летнее время).
‘NaT’ вернёт NaT для неоднозначного времени.
‘raise’ вызовет AmbiguousTimeError для неоднозначного времени.
- nonexistent:{‘raise’, ‘shift_forward’, ‘shift_backward, ‘NaT’, timedelta}, по умолчанию ‘raise’
-
Несуществующее время не существует в определённой временной зоне, когда часы перевели вперёд из-за перехода на летнее время.
‘shift_forward’ сдвинет несуществующее время вперёд к ближайшему существующему времени.
‘shift_backward’ сдвинет несуществующее время назад к ближайшему существующему времени.
‘NaT’ вернёт NaT, где есть несуществующие времена.
Объекты timedelta сдвинут несуществующие времена на указанное значение timedelta.
‘raise’ вызовет NonExistentTimeError, если есть несуществующие времена.
- Исключения
-
- ValueError, если freq невозможно преобразовать.
Примечания
Если у объекта Timestamp есть временная зона, округление будет происходить относительно локального времени («стенных» часов) и пере-локализовано в ту же временную зону. При округление около перехода на летнее время, используйте
nonexistentиambiguousдля управления поведением пере-локализации.Примеры
Создание объекта timestamp:
>>> ts = pd.Timestamp('2020-03-14T15:32:52.192548651')Timestamp можно округлить с использованием различных единиц частоты:
>>> ts.floor(freq='H') # hour Timestamp('2020-03-14 15:00:00')>>> ts.floor(freq='T') # minute Timestamp('2020-03-14 15:32:00')>>> ts.floor(freq='S') # seconds Timestamp('2020-03-14 15:32:52')>>> ts.floor(freq='N') # nanoseconds Timestamp('2020-03-14 15:32:52.192548651')freqтакже может быть кратным единице, например, ‘5T’ (т.е. 5 минут):>>> ts.floor(freq='5T') Timestamp('2020-03-14 15:30:00')или комбинацией нескольких единиц, например, ‘1H30T’ (т.е. 1 час и 30 минут):
>>> ts.floor(freq='1H30T') Timestamp('2020-03-14 15:00:00')Аналогично для
pd.NaT:>>> pd.NaT.floor() NaT
При округление около перехода на летнее время, используйте
ambiguousилиnonexistentдля управления тем, как timestamp должен быть пере-локализован.>>> ts_tz = pd.Timestamp("2021-10-31 03:30:00").tz_localize("Europe/Amsterdam")>>> ts_tz.floor("2H", ambiguous=False) Timestamp('2021-10-31 02:00:00+0100', tz='Europe/Amsterdam')>>> ts_tz.floor("2H", ambiguous=True) Timestamp('2021-10-31 02:00:00+0200', tz='Europe/Amsterdam')
© 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.Timestamp.floor.html