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