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

如何在pandas DataFrame中统计单日各小时记录量趋势以识别高流量时段

实现步骤

你当前已经完成了按「小时+日期」分组统计单日单小时流量条数的操作,后续按以下步骤处理即可得到预期结果:

  • 第一步:重置分组结果的索引结构,仅保留需要的计数字段,避免冗余数据干扰
  • 第二步:对「小时」维度做第二次分组,计算每个小时的日均流量值
  • 第三步:补全0-23全部小时的记录,无流量的小时对应值设为0,最后整理输出格式

完整可运行代码示例
import pandas as pd

# 若时间列还未转成timestamp格式,先执行这行转换
df["created_at"] = pd.to_datetime(df["created_at"])

# 你已实现的按小时+日期分组计数,直接取标识列的计数结果即可
hour_date_count = df.groupby([df["created_at"].dt.hour.rename("hour"), 
                              df["created_at"].dt.date]).count()["device_id"]

# 按小时维度二次分组,计算每个小时的日均流量
hour_avg = hour_date_count.groupby("hour").mean().rename("traffic")

# 补全0-23所有小时,缺失值填充为0
result = hour_avg.reindex(range(24), fill_value=0).reset_index()

# 打印输出和你预期格式完全一致的结果
print(result.to_csv(index=False))

逻辑说明

以你给出的示例数据验证:16点分别在8月26号有1条记录、8月27号有2条记录,总计数3条除以2个出现过记录的日期,得到均值1.5,和你预期输出完全匹配;7点仅在8月26号有2条记录,均值为2也符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 15:18:03