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

如何在Pandas中为移位后的数据自动追加对应日期行?

解决DataFrame移位后自动追加日期行的方案

1. 规范日期索引

先把日期列转为datetime类型并设为索引,方便后续匹配时间频率:

import pandas as pd

# 转换日期格式并设置为索引
econ_data['DATE'] = pd.to_datetime(econ_data['DATE'])
econ_data = econ_data.set_index('DATE')

2. 自动生成后续4个周期的日期

让pandas自动识别现有数据的时间频率,再生成对应后续日期:

# 识别数据的时间频率(比如你的数据是季度频率)
data_freq = econ_data.index.inferred_freq
# 生成现有数据之后的4个周期日期(跳过最后一个现有日期,取后面4个)
future_dates = pd.date_range(start=econ_data.index[-1], periods=5, freq=data_freq)[1:]

3. 追加空行到原DataFrame

创建包含后续日期的空行,合并到原数据中:

# 生成空行,YoY % Change列先设为NaN
future_rows = pd.DataFrame(index=future_dates, columns=['YoY % Change'])
# 合并原数据和新增空行
econ_data = pd.concat([econ_data, future_rows])

4. 重新执行移位操作

现在再运行移位代码,原数据最后4个YoY % Change值就会自动填充到新增行的YoY_Shifted列:

econ_data['YoY_Shifted'] = econ_data['YoY % Change'].shift(periods=4)

这套逻辑会根据原数据的时间频率自动生成对应日期,不用手动追加,完美保留移位后的所有数据点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 01:37:28