基于另一列推导日期:整合多期外部机构预测数据需求
合并往期与当期预测数据的实现方案
核心需求是保留不同报告日期下的有效预测数据,将往期报告中未过期的预测点与新报告的预测拼接,形成完整的时间序列用于对比分析。以下是两种实用实现方法:
方法1:Excel手动操作
- 把所有历史预测数据按「报告日期」从早到晚排序
- 新增辅助列,用公式标记每个预测日期的首次出现记录:
(假设「预测日期」在B列,下拉公式后,值为1的就是该预测日期第一次出现的记录)=COUNTIF($B$2:B2,B2) - 按需筛选:要么直接保留所有辅助列值为1的记录(每个预测日期取最早的报告数据);要么自定义筛选,比如挑出2023年1月报告中预测日期≤2023年2月的记录,再合并2023年3月报告的全部数据
方法2:Python(Pandas)自动化处理
- 读取所有预测数据:
import pandas as pd df = pd.read_excel("预测数据汇总.xlsx") - 按报告日期、预测日期升序排序:
df = df.sort_values(by=["report dates", "forward dates"], ascending=[True, True]) - 自动保留每个预测日期的最早报告数据:
merged_df = df.drop_duplicates(subset="forward dates", keep="first") - 自定义拼接指定数据(比如1月前2个月预测+3月全量预测):
# 筛选1月报告的前2个月预测 jan_data = df[(df["report dates"] == "2023-01-01") & (df["forward dates"] <= "2023-02-01")] # 筛选3月报告的全部预测 mar_data = df[df["report dates"] == "2023-03-01"] # 合并数据 custom_merged = pd.concat([jan_data, mar_data]).reset_index(drop=True)
合并后的数据会覆盖完整的预测周期,比如包含2023年1月报告对1-2月的预测,以及3月报告对3月至次年2月的预测,方便对比不同报告日期对同一时期的预测差异,扩大分析样本量。
内容的提问来源于stack exchange,提问作者Vishal Dawani
相关产品推荐
相关产品推荐

