Another approach is to use cumsum () and divide by the total number of elements, for example:
In [1]: s = pd.Series([4, 5, 6, 7, 4, 5, 6, 7]) s.cumsum() / pd.Series(np.arange(1, len(s)+1), s.index) Out[1]: 0 4.000000 1 4.500000 2 5.000000 3 5.500000 4 5.200000 5 5.166667 6 5.285714 7 5.500000 dtype: float64
patricksurry
source share