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

如何在Pandas中用均值插补缺失的小时时间序列行?

用前后紧邻行均值插补小时级缺失DataFrame
  • 先确保你的DataFrame索引是datetime类型(如果还没转的话):

    prices_df.index = pd.to_datetime(prices_df.index)
    
  • 重采样生成完整的1小时时间序列,缺失的时间戳会被补出来,对应值为NaN:

    resampled_df = prices_df.resample('1H').asfreq()
    
  • 用前后紧邻行均值插补缺失值,有两种简便方法:
    方法一:用线性插值(单个缺失值等价于前后均值)
    单个缺失的小时行,线性插值结果就是前后紧邻行的均值,还能限制只插补连续1个缺失值:

    filled_df = resampled_df.interpolate(method='linear', limit=1)
    

    方法二:手动计算前后行的平均
    直接取缺失值的前一行和后一行数值的平均,逻辑更直观:

    filled_df = resampled_df.fillna(
        (resampled_df.shift(1) + resampled_df.shift(-1)) / 2
    )
    

注意:如果存在连续多个缺失小时的情况,第二种方法会让这些连续缺失值保持NaN(因为中间缺失值的前后行可能也是NaN),可以根据你的实际需求调整逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:25:05