Python 如何将 Timestamp 对象四舍五入到前一个完整小时

Python how to round Timestamp object to the previous full hour

你好有一个时间戳对象列表:

Timestamp('2021-07-07 10:00:03'), Timestamp('2021-07-07 10:02:13'), Timestamp('2021-03-07 12:40:24')

我想在小时级别对每个元素进行舍入,得到:

Timestamp('2021-07-07 10:00:00'), Timestamp('2021-07-07 10:00:00'), Timestamp('2021-03-07 12:00:00')

每个元素的类型是

Pandas Timestamp (pandas._libs.tslibs.timestamps.Timestamp)

。 最好的方法是什么?

给出

>>> df 
                 time
0 2021-07-07 10:00:03
1 2021-07-07 10:02:13
2 2021-03-07 12:40:24

使用

>>> df['time'] = df['time'].dt.floor('1h')
>>> df 
                 time
0 2021-07-07 10:00:00
1 2021-07-07 10:00:00
2 2021-03-07 12:00:00