Метод permutation
Метод permutation класса RandomState
случайным образом переставляет элементы одномерного массива или возвращает
переставленный диапазон чисел. Метод изменяет порядок элементов, но не
изменяет исходный массив, если он передан как аргумент. В качестве
параметра метод принимает одномерный массив, целое число или список.
Синтаксис
rng.permutation(x)
Пример
Давайте создадим генератор случайных чисел с фиксированным зерном и переставим элементы одномерного массива:
import numpy as np
rng = np.random.RandomState(42)
arr = np.array([1, 2, 3, 4, 5, 6])
res = rng.permutation(arr)
print(res)
Результат выполнения кода:
[2 5 1 6 3 4]
Пример
Если передать целое число, метод вернёт переставленный диапазон от нуля до переданного числа (не включая его):
import numpy as np
rng = np.random.RandomState(42)
res = rng.permutation(6)
print(res)
Результат выполнения кода:
[2 5 1 3 4 0]
Пример
Метод также работает со списками и не изменяет исходный объект:
import numpy as np
rng = np.random.RandomState(42)
data = ['a', 'b', 'c', 'd', 'e']
res = rng.permutation(data)
print(res)
print(data)
Результат выполнения кода:
['d' 'e' 'b' 'a' 'c']
['a', 'b', 'c', 'd', 'e']
Пример
С помощью метода permutation можно перемешать строки
двумерного массива, переставив индексы:
import numpy as np
rng = np.random.RandomState(42)
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
idx = rng.permutation(arr.shape[0])
res = arr[idx]
print(res)
Результат выполнения кода:
[[4 5 6]
[7 8 9]
[1 2 3]]
Смотрите также
-
класс
RandomState,
который предоставляет методы для генерации случайных чисел -
метод
shuffle,
который перемешивает массив на месте, изменяя его -
метод
choice,
который генерирует случайную выборку из массива -
метод
randint,
который генерирует случайные целые числа из заданного диапазона