pandas.Series.dt.round #

系列.dt。round ( * args , ** kwargs ) [来源] #

对数据执行舍入操作到指定的频率

参数
频率str 或偏移量

将索引舍入到的频率级别。必须是固定频率,例如“S”(秒)而不是“ME”(月末)。请参阅 频率别名以获取可能的频率值列表。

不明确的'infer'、bool-ndarray、'NaT'、默认 'raise'

仅与 DatetimeIndex 相关:

  • “infer”将尝试根据订单推断秋季夏令时转换时间

  • bool-ndarray 其中 True 表示 DST 时间,False 表示非 DST 时间(请注意,此标志仅适用于不明确的时间)

  • 'NaT' 将在存在不明确时间的情况下返回 NaT

  • 如果存在不明确的时间,“raise”将引发 AmbigouslyTimeError。

不存在'shift_forward'、'shift_backward'、'NaT'、timedelta、默认 'raise'

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

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

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

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

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

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

返回
日期时间索引、时间增量索引或系列

DatetimeIndex 或 TimedeltaIndex 具有相同类型的索引,或者 Series 具有相同索引的 Series。

加薪
如果频率无法转换,则出现 ValueError 。

笔记

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

例子

日期时间索引

>>> 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.round('h')
DatetimeIndex(['2018-01-01 12:00:00', '2018-01-01 12:00:00',
               '2018-01-01 12:00:00'],
              dtype='datetime64[ns]', freq=None)

系列

>>> pd.Series(rng).dt.round("h")
0   2018-01-01 12:00:00
1   2018-01-01 12:00:00
2   2018-01-01 12:00:00
dtype: datetime64[ns]

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

>>> rng_tz = pd.DatetimeIndex(["2021-10-31 03:30:00"], tz="Europe/Amsterdam")
>>> rng_tz.floor("2h", ambiguous=False)
DatetimeIndex(['2021-10-31 02:00:00+01:00'],
              dtype='datetime64[ns, Europe/Amsterdam]', freq=None)
>>> rng_tz.floor("2h", ambiguous=True)
DatetimeIndex(['2021-10-31 02:00:00+02:00'],
              dtype='datetime64[ns, Europe/Amsterdam]', freq=None)