In some cases when using numpy arrays, using `random.shuffle`

created duplicate data in the array.

An alternative is to use `numpy.random.shuffle`

. If you’re working with numpy already, this is the preferred method over the generic `random.shuffle`

.

numpy.random.shuffle

**Example**

```
>>> import numpy as np
>>> import random
```

Using `random.shuffle`

:

```
>>> foo = np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> foo
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>> random.shuffle(foo)
>>> foo
array([[1, 2, 3],
[1, 2, 3],
[4, 5, 6]])
```

Using `numpy.random.shuffle`

:

```
>>> foo = np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> foo
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>> np.random.shuffle(foo)
>>> foo
array([[1, 2, 3],
[7, 8, 9],
[4, 5, 6]])
```