# numpy.random.Generator.shuffle#

method

random.Generator.shuffle(x, axis=0)#

Modify an array or sequence in-place by shuffling its contents.

The order of sub-arrays is changed but their contents remains the same.

Parameters:
xndarray or MutableSequence

The array, list or mutable sequence to be shuffled.

axisint, optional

The axis which x is shuffled along. Default is 0. It is only supported on `ndarray` objects.

Returns:
None

Notes

An important distinction between methods `shuffle` and `permuted` is how they both treat the `axis` parameter which can be found at Handling the axis parameter.

Examples

```>>> rng = np.random.default_rng()
>>> arr = np.arange(10)
>>> arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> rng.shuffle(arr)
>>> arr
array([2, 0, 7, 5, 1, 4, 8, 9, 3, 6]) # random
```
```>>> arr = np.arange(9).reshape((3, 3))
>>> arr
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> rng.shuffle(arr)
>>> arr
array([[3, 4, 5], # random
[6, 7, 8],
[0, 1, 2]])
```
```>>> arr = np.arange(9).reshape((3, 3))
>>> arr
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> rng.shuffle(arr, axis=1)
>>> arr
array([[2, 0, 1], # random
[5, 3, 4],
[8, 6, 7]])
```