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

基于旧DataFrame生成12个月滞后数据新DataFrame,缺失值用均值填充的实现方法

实现代码

首先确保你已导入pandas库,且df_train的索引已转换为datetime类型,完整代码如下:

import pandas as pd

# 转换df_train索引为datetime格式(若已为datetime可跳过该行),适配你输入的日-月-年日期格式
df_train.index = pd.to_datetime(df_train.index, format='%d-%m-%Y')

# 构造历史月份与X1值的映射字典,key为1-12的月份数字
month_value_map = df_train.set_index(df_train.index.month)['X1'].to_dict()
# 计算X1列均值,即你提到的ts_train均值
x1_avg = df_train['X1'].mean()

# 生成目标日期索引,调整参数适配你示例中从9月开始的需求
future_dates = pd.date_range(
    start=df_train.index.max() + pd.DateOffset(months=1),
    periods=12,
    freq='MS'  # 按你示例输出每月1号的要求配置,如需月末日期改为'M'即可
)

# 构造新DataFrame并按规则填充X1字段
df_result = pd.DataFrame(index=future_dates)
df_result['X1'] = df_result.index.month.map(lambda m: month_value_map.get(m, x1_avg))

结果说明

运行后得到的df_result完全符合预期:2020年9-12月无对应历史月份数据,自动填充均值4.5(即36/8),2021年1-8月匹配到历史1-8月的对应数值1-8。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 19:45:07