numpy.random.permutation

numpy.random.permutation(x)

Функция random.permutation() возвращает случайную перестановку элементов массива или случайную последовательность заданной длинны из его элементов.

Данная функция выполняет перестановку только по первой оси, поэтому для многомерных массивов возвращается перестановка его подмассивов, в то время как содержание этих подмассивов не перемешивается

Параметры:
x - число, массив NumPy или подобный массиву объект.
Если указано число, то возвращается случайная перестановка из np.arange(x). Если указан массив, то выполняется его копирование и перестановка его элементов.
out - массив NumPy, необязательный параметр.
Случайная перестановка массива или копия исходного массива с переставленными элементами в случайном порядке элементами.
Возвращает:
результат - None
Данная функция ничего не возвращает, а изменяет сам входной массив.

Замечание

Данная функция отличается от функции np.shuffle() тем, что не изменяет исходный массив, а выполняет изменение его копии.

Смотрите так же:
shuffle


Примеры

>>> import numpy as np
>>> 
>>> np.random.permutation(7)
array([4, 0, 5, 2, 6, 1, 3])
>>> np.random.permutation(7)
array([2, 0, 6, 3, 5, 1, 4])
>>> np.random.permutation(7)
array([5, 6, 3, 4, 1, 2, 0])
>>> 
>>> 
>>> np.random.permutation([0, 0, 0, 1, 1, 1])
array([1, 0, 0, 1, 0, 1])
>>> 
>>> 
>>> a = np.arange(25).reshape(5, 5)
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24]])
>>> 
>>> np.random.permutation(a[0])
array([4, 0, 2, 3, 1])
>>> 
>>> np.random.permutation(a)
array([[ 0,  1,  2,  3,  4],
       [10, 11, 12, 13, 14],
       [20, 21, 22, 23, 24],
       [ 5,  6,  7,  8,  9],
       [15, 16, 17, 18, 19]])