w3resource

Pandas Series: dt.ceil() function

Series.dt.ceil() function

The dt.ceil() function performs ceil operation on the data to the specified frequency level.

Syntax:

Series.dt.ceil(self, *args, **kwargs)
Pandas Series: dt_ceil() function

Parameter:

Name Description Type / Default Value Required / Optional
freq The frequency level to ceil the index to. Must be a fixed frequency like ‘S’ (second) not ‘ME’ (month end). 'infe'r’, bool-ndarray, ‘NaT’, default ‘raise’ Required
ambiguous Only relevant for DatetimeIndex:
  • ‘infer’ will attempt to infer fall dst-transition hours based on order
  • bool-ndarray where True signifies a DST time, False designates a non-DST time.
  • ‘NaT’ will return NaT where there are ambiguous times
  • ‘raise’ will raise an AmbiguousTimeError if there are ambiguous times
'infer', bool-ndarray, 'NaT', default 'raise' Required
nonexistent A nonexistent time does not exist in a particular timezone where clocks moved forward due to DST.
  • ‘shift_forward’ will shift the nonexistent time forward to the closest existing time
  • ‘shift_backward’ will shift the nonexistent time backward to the closest 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 are nonexistent times
‘shift_forward’, ‘shift_backward’, ‘NaT’, timedelta, default ‘raise’ Required

Returns: DatetimeIndex, TimedeltaIndex, or Series
Index of the same type for a DatetimeIndex or TimedeltaIndex, or a Series with the same index for a Series.

Raises: ValueError if the freq cannot be converted.

Example - DatetimeIndex:

Python-Pandas Code:

import numpy as np
import pandas as pd
rng = pd.date_range('1/2/2019 11:59:00', periods=4, freq='min')
rng

Output:

DatetimeIndex(['2019-01-02 11:59:00', '2019-01-02 12:00:00',
               '2019-01-02 12:01:00', '2019-01-02 12:02:00'],
              dtype='datetime64[ns]', freq='T')

Python-Pandas Code:

import numpy as np
import pandas as pd
rng = pd.date_range('1/2/2019 11:59:00', periods=4, freq='min')
rng.ceil('H')

Output:

DatetimeIndex(['2019-01-02 12:00:00', '2019-01-02 12:00:00',
               '2019-01-02 13:00:00', '2019-01-02 13:00:00'],
              dtype='datetime64[ns]', freq=None)

Example - Series:

Python-Pandas Code:

import numpy as np
import pandas as pd
rng = pd.date_range('1/2/2019 11:59:00', periods=4, freq='min')
pd.Series(rng).dt.ceil("H")

Output:

0   2019-01-02 12:00:00
1   2019-01-02 12:00:00
2   2019-01-02 13:00:00
3   2019-01-02 13:00:00
dtype: datetime64[ns]

Previous: Series.dt.floor() function
Next: Series.dt.month_name() function



Follow us on Facebook and Twitter for latest update.