pandas.Timestamp.round#
- Timestamp.round(freq, ambiguous='raise', nonexistent='raise')#
将时间戳四舍五入为指定的分辨率。
- 参数
- freq应力
表示舍入分辨率的频率字符串。
- ambiguousBool或{‘RAISE’,‘NAT’},默认为‘RAISE’
其行为如下:
Bool包含用于确定时间是否为DST的标志(请注意,此标志仅适用于不明确的秋季DST日期)。
“NaT”将在不明确的时间返回NAT。
“Raise”将在不明确的时间引发AmbiguousTimeError。
- nonexistent{‘RAISE’,‘SHIFT_FORWARD’,‘SHIFT_BACKED,’NAT‘,TimeDelta},默认’RAISE‘
在时钟由于DST而向前移动的特定时区中不存在不存在的时间。
‘Shift_Forward’会将不存在的时间向前移动到最接近的现有时间。
‘Shift_Backup’会将不存在的时间向后移动到最接近的现有时间。
“NaT”将返回不存在时间的NAT。
时间增量对象将按时间增量移动不存在的时间。
如果存在不存在的时间,“Raise”将引发非ExistentTimeError。
- 退货
- 四舍五入到给定分辨率的新时间戳 freq
- 加薪
- 如果无法转换频率,则返回ValueError
注意事项
如果时间戳具有时区,则四舍五入将相对于本地(“墙”)时间进行,并重新本地化到相同的时区。接近夏令时时,使用
nonexistent
和ambiguous
以控制重新本地化行为。示例
创建时间戳对象:
>>> ts = pd.Timestamp('2020-03-14T15:32:52.192548651')
时间戳可以使用多个频率单位进行舍入:
>>> 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
以控制应如何重新本地化时间戳。>>> 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')