自动化更新季度财务数据:用df2填充df1缺失的时间序列数据
自动化填充历史财务时间序列数据缺失值
用户需每季度更新财务Excel表格,希望实现更新流程自动化:现有含缺失值(NaN)的历史时间序列数据df1,以及最新年度财务数据df2,需将df2的数据匹配填充至df1对应年份的缺失字段,得到完整的历史时间序列数据。
示例数据
历史数据(df1)
Date DebtGDP Credit Expenditure 2020 0.053078 0.501184 757.000000 2021 0.935433 0.050437 229.000000 2022 NaN NaN NaN 2023 NaN NaN NaN
最新年度数据(df2)
Date DebtGDP Credit Expenditure 2022 0.056078 0.401184 757.000000 2023 0.605842 0.661184 900.000000
期望输出
Date DebtGDP Credit Expenditure 2020 0.053078 0.501184 757.000000 2021 0.935433 0.050437 229.000000 2022 0.056078 0.401184 757.000000 2023 0.605842 0.661184 900.000000
解决方案
使用Pandas的combine_first方法即可高效实现需求,代码如下:
import pandas as pd # 假设df1和df2已通过pd.read_excel读取完成 # 将Date列设为索引,实现按年份精准匹配 df1 = df1.set_index('Date') df2 = df2.set_index('Date') # 用df2的数据填充df1的缺失值,保留df1原有有效数据 df_updated = df1.combine_first(df2).reset_index() # 若需要保存回Excel df_updated.to_excel('完整财务数据.xlsx', index=False)
代码说明
set_index('Date'):将年份设为索引,确保两个DataFrame能按年份一一对应combine_first(df2):优先保留df1的非缺失值,仅用df2的值填充df1中的NaNreset_index():将Date列恢复为普通列,还原原始表格结构to_excel:将更新后的数据保存回Excel文件,完成自动化更新
内容的提问来源于stack exchange,提问作者PyPixels
相关产品推荐
相关产品推荐

