pandas.DatetimeIndex.ceil#
- DatetimeIndex.ceil(*args, **kwargs)[源代码]#
对数据执行CEIL运算到指定的 freq 。
- 参数
- freq字符串或偏移量
将索引设置为上限的频率级别。必须是固定的频率,如‘S’(秒)而不是‘ME’(月末)。看见 frequency aliases 查看可能的列表 freq 价值。
- ambiguous‘iner’,bool-ndarray,‘nat’,默认‘raise’
仅与DatetimeIndex相关:
INFER将尝试根据订单推断秋季DST过渡时间
Bool-ndarray其中True表示DST时间,False表示非DST时间(请注意,此标志仅适用于不明确的时间)
“NaT”将在时间不明确的地方返回NAT
如果存在不明确的时间,‘Raise’将引发AmbiguousTimeError。
- nonexistent‘Shift_Forward’,‘Shift_Backward’,‘NAT’,TimeDelta,默认‘RAISE’
在时钟由于DST而向前移动的特定时区中不存在不存在的时间。
‘Shift_Forward’会将不存在的时间向前移动到最接近的现有时间
‘Shift_Backup’会将不存在的时间向后移动到最接近的现有时间
“NaT”将返回不存在时间的NAT
时间增量对象将按时间增量移动不存在的时间
如果存在不存在的时间,“Raise”将引发非ExistentTimeError。
- 退货
- DatetimeIndex、TimedeltaIndex或Series
DatetimeIndex或TimedeltaIndex的相同类型的索引,或具有相同索引的Series的Series。
- 加薪
- 如果设置了 freq 无法转换。
注意事项
如果时间戳有时区,天花板将相对于当地(“墙”)时间发生,并重新本地化到同一时区。当天花板接近夏令时时,使用
nonexistent
和ambiguous
以控制重新本地化行为。示例
DatetimeIndex
>>> 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='T') >>> rng.ceil('H') DatetimeIndex(['2018-01-01 12:00:00', '2018-01-01 12:00:00', '2018-01-01 13:00:00'], dtype='datetime64[ns]', freq=None)
Series
>>> pd.Series(rng).dt.ceil("H") 0 2018-01-01 12:00:00 1 2018-01-01 12:00:00 2 2018-01-01 13:00:00 dtype: datetime64[ns]
在接近夏令时转换时,使用
ambiguous
或nonexistent
以控制应如何重新本地化时间戳。>>> rng_tz = pd.DatetimeIndex(["2021-10-31 01:30:00"], tz="Europe/Amsterdam")
>>> rng_tz.ceil("H", ambiguous=False) DatetimeIndex(['2021-10-31 02:00:00+01:00'], dtype='datetime64[ns, Europe/Amsterdam]', freq=None)
>>> rng_tz.ceil("H", ambiguous=True) DatetimeIndex(['2021-10-31 02:00:00+02:00'], dtype='datetime64[ns, Europe/Amsterdam]', freq=None)