pandas.Timestamp.round #

时间戳。round ( freq ,歧义= 'raise' ,不存在= 'raise' ) #

将时间戳舍入到指定的分辨率。

参数
频率字符串

指示舍入分辨率的频率字符串。

不明确的bool 或 {'raise', 'NaT'},默认 'raise'

行为如下:

  • bool 包含用于确定时间是否为夏令时的标志(请注意,此标志仅适用于不明确的秋季夏令时日期)。

  • 'NaT' 将返回 NaT 一段不明确的时间。

  • 'raise' 会在不明确的时间引发 AmbigouslyTimeError 。

不存在{'raise', 'shift_forward', 'shift_backward, 'NaT', timedelta}, 默认 'raise'

不存在的时间不存在于因夏令时而时钟向前移动的特定时区中。

  • “shift_forward”会将不存在的时间向前移动到最接近的现有时间。

  • 'shift_backward' 会将不存在的时间向后移动到最接近的现有时间。

  • 'NaT' 将在不存在的时间处返回 NaT。

  • timedelta 对象会将不存在的时间移动 timedelta。

  • 如果时间不存在,“raise”将引发 NonExistentTimeError。

返回
一个新的时间戳四舍五入到给定的频率分辨率
加薪
如果频率无法转换,则出现 ValueError

笔记

如果时间戳具有时区,则将相对于本地(“墙”)时间进行舍入,并重新本地化到同一时区。当接近夏令时时舍入时,使用nonexistentambiguous来控制重新定位行为。

例子

创建时间戳对象:

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

时间戳可以使用多个频率单位进行舍入:

>>> ts.round(freq='h') # hour
Timestamp('2020-03-14 16:00:00')
>>> ts.round(freq='min') # minute
Timestamp('2020-03-14 15:33:00')
>>> ts.round(freq='s') # seconds
Timestamp('2020-03-14 15:32:52')
>>> ts.round(freq='ms') # milliseconds
Timestamp('2020-03-14 15:32:52.193000')

freq也可以是单个单位的倍数,例如“5min”(即 5 分钟):

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

或多个单位的组合,例如“1h30min”(即 1 小时 30 分钟):

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

类似pd.NaT

>>> pd.NaT.round()
NaT

在夏令时转换附近舍入时,使用ambiguousnonexistent来控制时间戳应如何重新本地化。

>>> 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')