我试图在对数据进行分组后找到数据帧的移动平均值,而每个组的n值都不同。
pd.DataFrame(df.groupby(['col1','col2']).agg(['mean','count'])
mean count
col1 col2 month
A X 1 5 2
2 8 3
Y 1 3 6
2 4 1
我尝试使用
来找到移动平均线df['mean'].rolling(2).mean()
我得到结果
mean
col1 col2 month
A X 1 n/a
2 (8+5)/2
Y 1 n/a
2 (4+3)/2
但我想要
mean
col1 col2 month
A X 1 n/a
2 (8*3+5*2)/5
Y 1 n/a
2 (4*1+3*6)/7
最后,如果我想找到其他指数的移动平均值怎么办。在熊猫中,仅找到col1的移动平均值的最佳方法是什么。下面是我想要的示例,虽然可以删除col2索引,但最终需要下面的结果,因此,我正在寻找一种选择分组数据帧的索引以专门执行该操作的方法。
mean
col1 col2 month
A X 1 n/a
2 (8*3+5*2+4*1+3*6)/12
Y 1 n/a
2 (8*3+5*2+4*1+3*6)/12