NumPy

Previous topic

numpy.random.Generator.shuffle

Next topic

numpy.random.Generator.beta

This is documentation for an old release of NumPy (version 1.19). Read this page in the documentation of the latest stable release (version 2.2).

numpy.random.Generator.permutation

method

Generator.permutation(x, axis=0)

Randomly permute a sequence, or return a permuted range.

Parameters
xint or array_like

If x is an integer, randomly permute np.arange(x). If x is an array, make a copy and shuffle the elements randomly.

axisint, optional

The axis which x is shuffled along. Default is 0.

Returns
outndarray

Permuted sequence or array range.

Examples

>>>
>>> rng = np.random.default_rng()
>>> rng.permutation(10)
array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6]) # random
>>>
>>> rng.permutation([1, 4, 9, 12, 15])
array([15,  1,  9,  4, 12]) # random
>>>
>>> arr = np.arange(9).reshape((3, 3))
>>> rng.permutation(arr)
array([[6, 7, 8], # random
       [0, 1, 2],
       [3, 4, 5]])
>>>
>>> rng.permutation("abc")
Traceback (most recent call last):
    ...
numpy.AxisError: axis 0 is out of bounds for array of dimension 0
>>>
>>> arr = np.arange(9).reshape((3, 3))
>>> rng.permutation(arr, axis=1)
array([[0, 2, 1], # random
       [3, 5, 4],
       [6, 8, 7]])