【发布时间】:2022-01-16 18:56:23
【问题描述】:
我每月的时间序列数据如下:
Item 2020 Jan 2020 Feb 2020 Mar 2020 Jul 2020 Aug 2020 Sep
0 A 0 1 2 3 4 5
1 B 5 4 3 2 1 0
我需要将此月度数据转换为三个月总和的季度数据,因此我修改了 here 的代码来做到这一点:
df = df.groupby(pd.PeriodIndex(df.columns, freq='Q'), axis=1).sum()
得到的df如下:
Item 2020 Q1 2020 Q3
0 A 3 12
1 B 12 3
但是,我希望在两者之间列出所有季度,而不仅仅是值大于 0 的季度。所以我想要的输出如下:
Item 2020 Q1 2020 Q2 2020 Q3
0 A 3 0 12
1 B 12 0 3
因此,在此输出中,有一个额外的列 Q2,因为它位于第一个季度和最后一个季度之间,即使它没有正值。有人知道怎么做吗?
【问题讨论】:
标签: python pandas dataframe time-series pandas-groupby