pandas.Timestamp.floor#
- Timestamp.floor(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。
- 加薪
- 如果无法转换频率,则返回ValueError。
注意事项
如果时间戳有时区,地板将相对于当地(“墙”)时间进行,并重新本地化到相同的时区。当地板接近夏令时时,请使用
nonexistent
和ambiguous
以控制重新本地化行为。示例
创建时间戳对象:
>>> ts = pd.Timestamp('2020-03-14T15:32:52.192548651')
可以使用多个频率单位来覆盖时间戳:
>>> ts.floor(freq='H') # hour Timestamp('2020-03-14 15:00:00')
>>> ts.floor(freq='T') # minute Timestamp('2020-03-14 15:32:00')
>>> ts.floor(freq='S') # seconds Timestamp('2020-03-14 15:32:52')
>>> ts.floor(freq='N') # nanoseconds Timestamp('2020-03-14 15:32:52.192548651')
freq
也可以是单个单位的倍数,如‘5T’(即5分钟):>>> ts.floor(freq='5T') Timestamp('2020-03-14 15:30:00')
或多个单位的组合,如‘1H30T’(即1小时30分钟):
>>> ts.floor(freq='1H30T') Timestamp('2020-03-14 15:00:00')
类似于
pd.NaT
:>>> pd.NaT.floor() NaT
在接近夏令时转换时,使用
ambiguous
或nonexistent
以控制应如何重新本地化时间戳。>>> ts_tz = pd.Timestamp("2021-10-31 03:30:00").tz_localize("Europe/Amsterdam")
>>> ts_tz.floor("2H", ambiguous=False) Timestamp('2021-10-31 02:00:00+0100', tz='Europe/Amsterdam')
>>> ts_tz.floor("2H", ambiguous=True) Timestamp('2021-10-31 02:00:00+0200', tz='Europe/Amsterdam')