Search code examples
pythonpandasrolling-average

how to calculate a moving average in a dataframe?


I have a dataframe column that looks like this:

CurrentCreditLines
0   5.0
1   14.0
2   NaN
3   5.0
4   19.0

with 110k records, how can I calculate the moving average? also I need it to be rounded and with type float, I tried this:

test["CurrentCreditLines"].rolling(min_periods=1, center=True, window=12).mean().round().float()

but I got the error:

'Series' object has no attribute 'float'

Solution

  • The error you're getting is telling you that it's not an issue with your .rolling() method but there is no .float() attribute of series in pandas, so, you should use pandas.DataFrame.astype() function to manipulate column dtypes.

    test["CurrentCreditLines"].rolling(min_periods=1, center=True, window=12).mean().round()
    
    test["CurrentCreditLines"].astype(float)