- API reference
- pandas arrays, scalars, and data types
- pandas.Times...
pandas.Timestamp.floor#
- Timestamp.floor(freq,ambiguous='raise',nonexistent='raise')#
Return a new Timestamp floored to this resolution.
- Parameters:
- freqstr
Frequency string indicating the flooring resolution.
- ambiguousbool or {‘raise’, ‘NaT’}, default ‘raise’
The behavior is as follows:
bool contains flags to determine if time is dst or not (notethat this flag is only applicable for ambiguous fall dst dates).
‘NaT’ will return NaT for an ambiguous time.
‘raise’ will raise an AmbiguousTimeError for an ambiguous time.
- nonexistent{‘raise’, ‘shift_forward’, ‘shift_backward, ‘NaT’, timedelta}, default ‘raise’
A nonexistent time does not exist in a particular timezonewhere clocks moved forward due to DST.
‘shift_forward’ will shift the nonexistent time forward to theclosest existing time.
‘shift_backward’ will shift the nonexistent time backward to theclosest existing time.
‘NaT’ will return NaT where there are nonexistent times.
timedelta objects will shift nonexistent times by the timedelta.
‘raise’ will raise an NonExistentTimeError if there arenonexistent times.
- Raises:
- ValueError if the freq cannot be converted.
Notes
If the Timestamp has a timezone, flooring will take place relative to thelocal (“wall”) time and re-localized to the same timezone. When flooringnear daylight savings time, use
nonexistent
andambiguous
tocontrol the re-localization behavior.Examples
Create a timestamp object:
>>>ts=pd.Timestamp('2020-03-14T15:32:52.192548651')
A timestamp can be floored using multiple frequency units:
>>>ts.floor(freq='h')# hourTimestamp('2020-03-14 15:00:00')
>>>ts.floor(freq='min')# minuteTimestamp('2020-03-14 15:32:00')
>>>ts.floor(freq='s')# secondsTimestamp('2020-03-14 15:32:52')
>>>ts.floor(freq='ns')# nanosecondsTimestamp('2020-03-14 15:32:52.192548651')
freq
can also be a multiple of a single unit, like ‘5min’ (i.e. 5 minutes):>>>ts.floor(freq='5min')Timestamp('2020-03-14 15:30:00')
or a combination of multiple units, like ‘1h30min’ (i.e. 1 hour and 30 minutes):
>>>ts.floor(freq='1h30min')Timestamp('2020-03-14 15:00:00')
Analogous for
pd.NaT
:>>>pd.NaT.floor()NaT
When rounding near a daylight savings time transition, use
ambiguous
ornonexistent
to control how the timestamp should be re-localized.>>>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')