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

pandas groupby统计小时频次后补全缺失索引的高效方法

最优解:用pandas原生reindex方法实现

首先把分组统计结果存为Series(避免你原代码中循环重复计算groupby的性能损耗),直接重索引补全24小时即可,全程不用手写循环:

# 先统计每小时事件数
hour_cnt = df_sep.time.dt.hour.value_counts()
# 重索引补全0-23的所有小时,缺失值填0
full_hour_cnt = hour_cnt.reindex(range(24), fill_value=0)

你要的x、y列表可以直接从结果中提取:

x = full_hour_cnt.index.tolist()
y = full_hour_cnt.values.tolist()

打印验证的效果和你期望的完全一致:

for hour, count in full_hour_cnt.items():
    print(hour, count)

输出:

0 0
1 0
2 31
3 6
4 7
5 4
6 38
7 9
8 5
9 31
10 8
11 2
12 5
13 30
14 1
15 1
16 28
17 0
18 1
19 0
20 4
21 29
22 0
23 0

这个方法是pandas向量化操作,性能远高于手写Python循环,代码也更简洁易维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:18:03