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

如何仅在指定窗口内对周度时间序列数据执行插值计算?

周度数据窗口插值实现方案

核心实现思路

  • 保留独立的原始数据集副本,全程不修改该数据,所有插值计算仅从该副本取数,从根源避免插值结果参与后续计算
  • 每个目标日期单独执行插值逻辑,互相独立,不存在连续空值依赖问题
  • 对每个目标日期单独筛选前后各2个最近的原始数据点参与计算

完整代码实现

import pandas as pd
import numpy as np

# ---------------------- 1. 原始数据预处理(全程不修改该部分数据) ----------------------
raw_df = pd.DataFrame({
    'date': ['1/01/2021', '7/01/2021', '14/01/2021', '28/01/2021'],
    'value': [10, 10, 10, 10]
})
# 日期转datetime格式并排序,转时间戳方便数值计算
raw_df['date'] = pd.to_datetime(raw_df['date'], dayfirst=True)
raw_df = raw_df.sort_values('date').reset_index(drop=True)
raw_dates_ts = raw_df['date'].view('int64').values
raw_values = raw_df['value'].values

# ---------------------- 2. 批量处理目标日期 ----------------------
list_dates = ['12/01/2021', '13/01/2021']
target_dates = pd.to_datetime(list_dates, dayfirst=True)
interp_results = []

for dt in target_dates:
    dt_ts = dt.view('int64')
    # 取目标日期前最近的2个原始点
    prev_mask = raw_dates_ts < dt_ts
    prev_dates = raw_dates_ts[prev_mask][-2:]
    prev_vals = raw_values[prev_mask][-2:]
    # 取目标日期后最近的2个原始点
    next_mask = raw_dates_ts > dt_ts
    next_dates = raw_dates_ts[next_mask][:2]
    next_vals = raw_values[next_mask][:2]
    
    # 合并参与插值的参考点
    used_dates = np.concatenate([prev_dates, next_dates])
    used_vals = np.concatenate([prev_vals, next_vals])
    
    # 线性插值,不需要额外依赖库,如果需要更高阶插值可以替换为scipy.interpolate.interp1d
    interp_val = np.interp(dt_ts, used_dates, used_vals)
    interp_results.append({'date': dt, 'value': interp_val})

# ---------------------- 3. 合并结果输出 ----------------------
final_df = pd.concat([raw_df, pd.DataFrame(interp_results)], ignore_index=True)
final_df = final_df.sort_values('date').reset_index(drop=True)
# 可选:转回日/月/年的字符串日期格式
final_df['date'] = final_df['date'].dt.strftime('%d/%m/%Y')
print(final_df)

方案优势

  • 完全符合约束要求:所有插值仅使用原始周度数据,不会引入插值结果作为计算依据
  • 无连续空值报错问题:每个目标日期独立计算,不存在多个空值的依赖关系
  • 兼容边界场景:若目标日期位于数据集首尾、前后不足2个参考点时,会自动使用可用的参考点完成计算

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:21:04