提问人:slow_learner 提问时间:11/16/2023 更新时间:11/16/2023 访问量:26
如何将日期时间移动到最接近的五分钟?
How can I move datetime to the closest five minutes?
问:
我正在使用 pandas 中的数据帧。在此数据帧中,有一列的类型为 datetime。它代表产品销售的时刻,其他列表示价格、类型、销售金额、剩余金额......
为了进行分析,我想要更多的日期时间列来检查以 5 分钟到 1 小时的间隔售出多少产品。我需要将日期时间数据转换为上面的五分钟。
以 5 分钟为例:
2023-11-16 13:17:32 将变成 2023-11-16 13:20:00,2023-11-16 13:21:09 将变成 2023-11-16 13:25:00 依此类推。
对于 1 小时的情况,它们都将变成 2023-11-16 14:00:00。
这能做到吗?
我知道函数 ceil 和 floor,但我不知道如何以日期时间格式使用它们
答:
2赞
PaulS
11/16/2023
#1
一种可能的解决方案,它使用 pandas。Series.dt.ceil
:
df = pd.DataFrame({
'col': pd.to_datetime([
'2023-11-16 13:17:32',
'2023-11-16 13:21:09',
])
})
df['rounded_5m'] = df['col'].dt.ceil('5T')
df['rounded_1h'] = df['col'].dt.ceil('1H')
输出:
col rounded_5m rounded_1h
0 2023-11-16 13:17:32 2023-11-16 13:20:00 2023-11-16 14:00:00
1 2023-11-16 13:21:09 2023-11-16 13:25:00 2023-11-16 14:00:00
评论