# [PYTHON] Pandas: A very simple example of DataFrame.rolling ()

http://pandas.pydata.org/pandas-docs/stable/groupby.html As I was reading here, suddenly a function called rolling () came out. I was confused even if I looked at the API Reference, so what kind of method is it with a simple example? I'll grab it.

First, try using it appropriately.

``````In : import pandas as pd

In : import numpy as np

In : s = pd.Series(range(0,7))

In : s
Out:
0    0
1    1
2    2
3    3
4    4
5    5
6    6
dtype: int64

In : s.rolling(window=3, min_periods=3).mean()
Out:
0    NaN
1    NaN
2    1.0
3    2.0
4    3.0
5    4.0
6    5.0
dtype: float64
``````

As you can see from Out , for each element of `Series s` (including that element), calculate the average value of the previous three by`rolling ()`and`mean ()`. Can be done. That is, the moving average value is calculated. For example, looking at ʻindex = 3`, the values of the elements of ʻindex = 1,2,3` are` 1,2,3`, respectively, so the average value of those three, `2.0`, is output. .. For the elements of ʻindex = 0, 1`, since there are not enough elements required before that, the calculation is not performed and Nan is output.

`Window` determines the number of elements to be calculated by going back to ʻindex`, and` min_periods` specifies the minimum number of elements required to obtain a valid calculation result. So, if you want to get the average of 4 elements and output the result if there are at least 2 elements, you can specify as follows.

``````In : s.rolling(window=4, min_periods=2).mean()
Out:
0    NaN
1    0.5
2    1.0
3    1.5
4    2.5
5    3.5
6    4.5
dtype: float64
``````

Also, if `center = True` is set,` window` elements including ʻindex` as the starting point and before and after it are calculated.

``````In : s.rolling(window=3, min_periods=3, center=True).mean()
Out:
0    NaN
1    1.0
2    2.0
3    3.0
4    4.0
5    5.0
6    NaN
dtype: float64

``````