Skip to main content
`Ctrl`+`K`

# numpy.random.Generator.permutation

method

random.Generator.permutation(x, axis=0)

  Randomly permute a sequence, or return a permuted range.

  Parameters:
    x int 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.

    axis int, optional

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

  Returns:
    out ndarray

      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.exceptions.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]])