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

如何按ID分组对Pandas DataFrame按小时重采样并使用ffill方法?

解决方案

不用逐个处理ID再合并,直接用groupby + resample就能一步搞定,步骤如下:

  1. 先确保DateHour列是datetime类型(如果数据里还不是的话):
import pandas as pd
df['DateHour'] = pd.to_datetime(df['DateHour'])
  1. 按ID分组后完成重采样与填充:
result = df.set_index('DateHour').groupby('ID').resample('H').ffill().reset_index()

代码说明

  • set_index('DateHour'):将时间列设为索引,是重采样操作的前提
  • groupby('ID'):按ID分组,保证每个ID的时间序列独立处理
  • resample('H'):按小时频率重采样,自动补全该ID时间范围内缺失的小时节点
  • ffill():用前向填充的方式补全缺失的Value值
  • reset_index():将索引还原为普通列,得到你需要的DataFrame结构

这样生成的结果就和预期完全一致,无需手动循环处理单个ID再合并,代码更简洁高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:54:58