Let's assume an array of shape `(n,5,2)` which contains `NaN`s at random places, generated by the following code:

```
n = 10
arr = np.random.rand(n, 5, 2)

# replace some values by nan
arr = arr.ravel()
index_array = np.arange(arr.size)
np.random.shuffle(index_array)
arr[index_array[:5]] = np.nan
arr = arr.reshape(n, 5, 2)

```

How can I efficiently filter this array such that only those `arr[i]`s are kept which don't contain `NaN`s? The resulting shape would then be `(m,5,2)` with `m<=n`.