# How to compute rolling/moving window average of a NumPy array

The best way to compute the moving average for a NumPy array is to use `bn.move_mean()`

from the `bottleneck`

library. First, install `bottleneck`

using

```
pip install bottleneck
```

Now import it using

```
import bottleneck as bn
```

Now you have to decide what to do with windows at the beginning of the array where not enough elements are present. The default behaviour is to set the result to `NaN`

for those windows:

```
x = [1,2,3,4,5,6]
result = bn.move_mean(x, window=3)
# result = [nan, nan, 2., 3., 4., 5.]
```

but you can also accept any window even if it has less than `window`

elements.

```
x = [1,2,3,4,5,6]
result = bn.move_mean(x, window=3, min_count=1)
# result = [1. , 1.5, 2. , 3. , 4. , 5. ]
```

Another example with `window=4`

:

```
x = [1,2,3,4,5,6]
result = bn.move_mean(x, window=4, min_count=1)
# result = array([1. , 1.5, 2. , 2.5, 3.5, 4.5])
```