随窗口增加的滚动平均值

文森特·克莱斯

我有范围

np.arange(1,11) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

对于每个元素i,在我的范围内,我想计算从元素i = 0到当前元素的平均值结果将是这样的:

array([ 1. ,  1.5,  2. ,  2.5,  3. ,  3.5,  4. ,  4.5,  5. ,  5.5])
 # got this result via np.cumsum(np.arange(1,11,dtype=np.float32))/(np.arange(1, 11))

我想知道numpy / pandas中是否没有开箱即用的功能可以给我这个结果?

艾汉

您可以使用expanding()(需要熊猫0.18.0):

ser = pd.Series(np.arange(1, 11))

ser.expanding().mean()
Out: 
0    1.0
1    1.5
2    2.0
3    2.5
4    3.0
5    3.5
6    4.0
7    4.5
8    5.0
9    5.5
dtype: float64

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章