【发布时间】:2021-12-29 18:34:02
【问题描述】:
我正在尝试合并季度系列和月度系列,并且在此过程中基本上“下采样”了季度系列。两个数据框都包含一个 DATE 列 BANK,其余列是每月或每季度格式的各种值。我遇到的复杂情况是它是一个多索引,所以如果我尝试:
merged_data=df1.join(df2).reset_index(['DATE', 'BANK_CODE']).ffill()
季度数据的前向填充直到最后一个月度数据点并没有按照我的预期为每个银行完成。有人可以帮忙吗?注意:我还尝试单独对季度数据帧进行重新采样,但是直到某个日期(应该是月度数据中的最新日期)之前,我不知道如何将其降采样到月度水平。
df2 = df2.set_index(['DATE']).groupby(['BANK']).resample('M')['VALUE'].ffill()
df1:
Date Bank Value1 Value2
2021-06-30 bank 1 2000 7000
2021-07-31 bank 1 3000 2000
2021-06-30 bank 2 6000 9000
df2:
Date Bank Value1 Value2
2021-06-30 bank 1 2000 5000
2021-09-30 bank 1 5000 4000
2021-06-30 bank 2 9000 10000
【问题讨论】:
-
会显示之前的数据和预期的输出数据吗?
-
金狮,之前的数据如上图(两个数据框)。我是这个平台的新手,在 RJ 帮助我之前,我什至无法正确展示它(谢谢 RJ)。预期输出是每月频率的季度数据,其中的差距由值填补。因此,为什么我尝试重新采样到每月并向前填写上面的代码。
标签: python pandas merge pandas-resample ffill