从 Pandas 中的日期时间对象中提取小时

Extraction of hour from datetime object in Pandas

当我使用 pandas 中的 dt.hour 从 23.35 提取小时数时 returns 0。但我想得到 24。该怎么做?

假设输入:

s = pd.to_datetime(pd.Series(['00:10', '12:30', '23:35']))
0   2022-04-18 00:10:00
1   2022-04-18 12:30:00
2   2022-04-18 23:35:00
dtype: datetime64[ns]

小时

s.dt.hour
0     0
1    12
2    23
dtype: int64

的确,如果你 round:

s.dt.round('h').dt.hour
0     0
1    12
2     0
dtype: int64

你可以做什么来转换四舍五入的小时+分钟

s.dt.hour.add(s.dt.minute/60).round().astype(int)
0     0
1    12
2    24
dtype: int64