You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中将Datetime向上取整至最近的5分钟/1小时?

在Pandas中实现Datetime向上取整并按间隔统计销量

完全可以实现你的需求,Pandas针对datetime类型提供了直接的向上取整方法,结合分组操作就能轻松统计指定间隔内的产品销量。以下是具体实现步骤:

1. 确保Datetime列格式正确

首先确认你的销售时刻列是datetime类型,如果不是,先转换:

import pandas as pd

# 转换为datetime类型(如果原列不是的话)
df['sale_time'] = pd.to_datetime(df['sale_time'])

2. 生成向上取整后的Datetime列

使用dt.ceil()方法,传入对应的间隔参数即可完成向上取整:

  • 向上取整到5分钟间隔:
df['ceil_5min'] = df['sale_time'].dt.ceil('5min')

示例效果:

  • 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小时间隔:

df['ceil_1h'] = df['sale_time'].dt.ceil('H')

示例效果:

  • 2023-11-16 13:17:32 → 2023-11-16 14:00:00
  • 2023-11-16 13:21:09 → 2023-11-16 14:00:00

常用的间隔参数还包括:'10min'(10分钟)、'D'(天)、'W'(周)等,可根据需求调整。

3. 按间隔统计销量

结合groupby方法,按取整后的时间列(可搭配产品类型等维度)分组,统计销量总和:

  • 按产品类型+5分钟间隔统计:
sales_stats_5min = df.groupby(['product_type', 'ceil_5min'])['sales'].sum().reset_index()
  • 按1小时间隔统计(不区分产品类型):
sales_stats_1h = df.groupby('ceil_1h')['sales'].sum().reset_index()

完整示例代码

import pandas as pd

# 构造样例数据
data = {
    'sale_time': pd.to_datetime(['2023-11-16 13:17:32', '2023-11-16 13:21:09', '2023-11-16 13:55:20', '2023-11-16 14:02:15']),
    'product_type': ['A', 'B', 'A', 'B'],
    'sales': [5, 3, 2, 4],
    'price': [100, 200, 100, 200]
}
df = pd.DataFrame(data)

# 生成向上取整列
df['ceil_5min'] = df['sale_time'].dt.ceil('5min')
df['ceil_1h'] = df['sale_time'].dt.ceil('H')

# 统计销量
sales_5min = df.groupby(['product_type', 'ceil_5min'])['sales'].sum().reset_index()
sales_1h = df.groupby('ceil_1h')['sales'].sum().reset_index()

print("5分钟间隔销量统计:")
print(sales_5min)
print("\n1小时间隔销量统计:")
print(sales_1h)

输出结果:

5分钟间隔销量统计:
  product_type           ceil_5min  sales
0            A 2023-11-16 13:20:00      5
1            A 2023-11-16 14:00:00      2
2            B 2023-11-16 13:25:00      3
3            B 2023-11-16 14:05:00      4

1小时间隔销量统计:
            ceil_1h  sales
0 2023-11-16 14:00:00      8
1 2023-11-16 15:00:00      4

内容的提问来源于stack exchange,提问作者slow_learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 01:10:11