结合两个熊猫系列列表:1)一个包含历史时间序列,2)另一个包含预测时间序列



这两个列表包含相同的数据系列,其中df_hist_list表示历史序列,forecast_list包含预测。 我想将两个系列结合起来,其中的结果是两个组件的列表(即df_Cash_DF_history和Cash_Due_From_Banks整个系列的组合结果作为一个系列(。

df_hist_list=[df_Cash_DF_history,df_Int_Dep_w_Banks_history,df_Corp_Sec_history,
df_USGovt_Agency_history,df_Muni_history,df_Unreal_G_L_history,
...
df_Furn_Equip_Exp_history,df_Data_Proc_Exp_history,df_Promo_Exp_history,
df_Oth_Op_Exp_history,df_ORE_Exp_history,df_Inc_Tax_Exp_history]

forecast_list=[Cash_Due_From_Banks,Int_Bear_Dep_w_Banks,Corp_Sec,USGovt_Agency,
Muni,Unreal_Gain_Loss,RE_Loans,Pers_Loans,Ag_Loans,Bus_Loans,
...
Emp_Ben_Exp,Occ_Exp,Furn_Equip_Exp,Data_Proc_Exp,Promo_Exp,
Oth_Op_Exp,ORE_Exp,Inc_Tax_Exp]
df_Cash_DF_history
Out[114]: 
Q1_2018    8739244.00
Q2_2018    5698279.00
Q3_2018    8849542.00
Q4_2018    1503914.00
Q1_2019    7417558.00
Q2_2019    6000285.00
Q3_2019    8697910.00
Name: TOTAL CASH & DUE FROM BANKS, dtype: object
Cash_Due_From_Banks
Out[115]: 
Q3_2019   28,697,910
Q4_2019   27,810,123
Q1_2020   26,937,969
Q2_2020   26,081,183
Q3_2020   25,239,505
Q4_2020   24,412,679
Q1_2021   23,600,453
Q2_2021   22,802,580
Q3_2021   22,018,816
dtype: float64

我假设每个数据帧都有一列,而您呈现的季度列实际上是索引

让我们从 2 个数据帧的情况开始。

从这样的两个数据帧中获取最左侧的列,并连接 它们垂直成一个系列,定义以下函数:

def myConcat(df1, df2):
s = pd.concat([df1.iloc[:,0], df2.iloc[:,0]])
return s[~s.index.duplicated()]

我注意到您的 2 个数据帧有一行来自同一季度,所以有 是需要消除这种重复,为此我使用了index.duplicated((.

然后,例如,对于您提供的两个源数据帧,调用它:

myConcat(df_Cash_DF_history, Cash_Due_From_Banks)

要处理 2 个数据帧列表并生成由成对串联生成的Series对象列表,请运行:

[ myConcat(df1, df2) for df1, df2 in zip(df_hist_list, forecast_list) ]

相关内容

  • 没有找到相关文章

最新更新