假设我有一个数据集,由每月、每季度和每年平均发生的事件组成:
multi_index = pd.MultiIndex.from_tuples([("2022-01-01", "2022-12-31"),
("2022-01-01", "2022-03-30"),
("2022-03-01", "2022-03-30"),
("2022-04-01", "2022-04-30")])
multi_index.names = ['period_begin', 'period_end']
df = pd.DataFrame(np.random.randint(10, size=4), index=multi_index)
df
0
period_begin period_end
2022-01-01 2022-12-31 4
2022-03-30 3
2022-03-01 2022-03-30 5
2022-04-01 2022-04-30 8
我想将每月平均数计算为这些重叠数据的(简单)总和.例如,2022年3月的平均值应等于2022年3月、2022年1月和2022年Y月的观测值之和.对于2022年4月,这是2022年4月和2022年Y月的总和(2022年第2季度没有出现,也没有观察到).最后,我想要的是:
month_begin Monthly_Avg
2022-01-01 7
2022-02-01 7
2022-03-01 12
2022-04-01 15
...
2022-12-01 4
我试了pd.Grouper()
次,但没有成功.有人有主意吗?我将不胜感激!