Sometimes, we want to take subarrays from Python numpy array with given stride/step size.

In this article, we’ll look at how to take subarrays from Python numpy array with given stride/step size.

### How to take subarrays from Python numpy array with given stride/step size?

To take subarrays from Python numpy array with given stride/step size, we can use the `lib.atride_ticks.as_strided`

method.

For instance, we write:

```
import numpy as np
def strided_app(a, L, S):
nrows = ((a.size - L) // S) + 1
n = a.strides[0]
return np.lib.stride_tricks.as_strided(a,
shape=(nrows, L),
strides=(S * n, n))
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
s = strided_app(a, L=5, S=3)
print(s)
```

We create the `strided_app`

function that takes the array `a`

.

`L`

is the length of the chunk.

And `S`

is the stride or step size.

We compute the number of rows with `((a.size - L) // S) + 1`

.

Then we get the first chunk with `a.strides[0]`

.

And then we call `np.lib.stride_tricks.as_strided`

to compute the chunks with the `shape`

of the nested array and the `strides`

set to the start and end index of the range of items from the original array used to form the chunks in the new array.

Therefore, `s`

is:

```
[[ 1 2 3 4 5]
[ 4 5 6 7 8]
[ 7 8 9 10 11]]
```

### Conclusion

To take subarrays from Python numpy array with given stride/step size, we can use the `lib.atride_ticks.as_strided`

method.