Spec-Zone.ru › pandas 1

pandas.Timestamp.round

Timestamp.round(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 сместят несуществующие времена на заданное количество времени.

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

Возвращает
новый объект Timestamp, округлённый до указанного разрешения freq
Возбуждает
ValueError, если freq нельзя преобразовать

Примечания

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

Примеры

Создайте объект Timestamp:

>>> ts = pd.Timestamp('2020-03-14T15:32:52.192548651')

Timestamp можно округлить с помощью различных единиц частоты:

>>> ts.round(freq='H') # hour
Timestamp('2020-03-14 16:00:00')
>>> ts.round(freq='T') # minute
Timestamp('2020-03-14 15:33:00')
>>> ts.round(freq='S') # seconds
Timestamp('2020-03-14 15:32:52')
>>> ts.round(freq='L') # milliseconds
Timestamp('2020-03-14 15:32:52.193000')

freq также может быть кратным единице, например, '5T' (т.е. 5 минут):

>>> ts.round(freq='5T')
Timestamp('2020-03-14 15:35:00')

или комбинацией нескольких единиц, например, '1H30T' (т.е. 1 час и 30 минут):

>>> ts.round(freq='1H30T')
Timestamp('2020-03-14 15:00:00')

Аналогично для pd.NaT:

>>> pd.NaT.round()
NaT

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

>>> ts_tz = pd.Timestamp("2021-10-31 01:30:00").tz_localize("Europe/Amsterdam")
>>> ts_tz.round("H", ambiguous=False)
Timestamp('2021-10-31 02:00:00+0100', tz='Europe/Amsterdam')
>>> ts_tz.round("H", 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.round.html

Spec-Zone.ru

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