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

pandas时间序列缺失值用上一可用数据点回填实现方法

解决方法

步骤1:转换时间列格式

先把字符串类型的时间列转换为pandas可识别的datetime格式,指定格式避免自动解析出错:

import pandas as pd
df['date_time'] = pd.to_datetime(df['date_time'], format='%d/%m/%Y %H:%M')

步骤2:设置时间索引

将时间列设为索引,方便后续时间序列重采样操作:

df = df.set_index('date_time')

步骤3:重采样+前向填充

按1小时频率重采样,同时用前向填充补充缺失值:

# asfreq指定频率为1小时,ffill表示用前一个非空值填充缺失行
df = df.asfreq(freq='H', method='ffill')

步骤4(可选):重置索引

如果需要将date_time从索引变回普通列,执行重置索引即可:

df = df.reset_index()

效果说明

该方案为通用处理逻辑,不管时间序列中存在多少个小时级间隙,都会自动识别缺失的时间点,生成对应行后自动用缺失位置前最后一个可用的数值填充,最终输出和你期望的结果完全一致。

注意:如果你的时间序列采样周期不是1小时,修改asfreq方法的freq参数即可适配不同的采样间隔需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:21:02