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

Pandas分组统计客流后如何为缺失的小时维度行补充计数0

实现方案

直接通过全量维度表左关联现有统计结果即可实现,步骤和代码如下:

  • 先完成原始数据的分组统计,得到各时段的到店人数
  • 提取数据中所有出现过的(月份、日期)组合,为每个组合拼接0-23共24个小时,生成全量时段维度表
  • 全量维度表和统计结果左关联,缺失的计数值填充为0
import pandas as pd

# 1. 原始分组统计,假设原始访客表为raw_df,统计后计数字段命名为visitor_count
stat_df = raw_df.groupby(['月份', '日期', '小时'], as_index=False)['姓名'].count().rename(columns={'姓名': 'visitor_count'})

# 2. 生成全量时段维度表
# 提取所有不重复的日期组合
unique_dates = stat_df[['月份', '日期']].drop_duplicates()
# 为每个日期添加0-23小时
unique_dates['小时'] = [list(range(24)) for _ in range(len(unique_dates))]
full_time_dim = unique_dates.explode('小时', ignore_index=True)

# 3. 左关联补全值
result_df = full_time_dim.merge(
    stat_df, 
    on=['月份', '日期', '小时'], 
    how='left'
).fillna({'visitor_count': 0})

# 可选:将计数字段转为整数,按时间排序
result_df['visitor_count'] = result_df['visitor_count'].astype(int)
result_df = result_df.sort_values(['月份', '日期', '小时'], ignore_index=True)

如果你的数据包含年份字段,只需在分组、维度表生成、关联的字段中增加年份字段即可,逻辑完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:24:05