numpy.random.Generator.permuted#

метод

random.Generator.переставленный(x, ось=None, выход=None)#

Случайная перестановка x вдоль оси ось.

В отличие от shuffle, каждый срез вдоль заданной оси перемешивается независимо от других.

Параметры:
xarray_like, как минимум одномерный

Массив для перемешивания.

осьint, необязательный

Срезы x в этой оси перемешиваются. Каждый срез перемешивается независимо от других. Если ось равно None, сглаженный массив перемешивается.

выходndarray, необязательно

Если указан, это место назначения перемешанного массива. Если выход равно None, возвращается перемешанная копия массива.

Возвращает:
ndarray

Если выход равно None, перемешанная копия x возвращается. В противном случае перемешанный массив сохраняется в выход, и выход возвращается

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

shuffle
permutation

Примечания

Важное различие между методами shuffle и permuted это как они оба обрабатывают axis параметр, который можно найти на Обработка параметра axis.

Примеры

Создать numpy.random.Generator экземпляр:

>>> rng = np.random.default_rng()

Создайте тестовый массив:

>>> x = np.arange(24).reshape(3, 8)
>>> x
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]])

Перемешать строки x:

>>> y = rng.permuted(x, axis=1)
>>> y
array([[ 4,  3,  6,  7,  1,  2,  5,  0],  # random
       [15, 10, 14,  9, 12, 11,  8, 13],
       [17, 16, 20, 21, 18, 22, 23, 19]])

x не был изменён:

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

Чтобы перемешать строки x на месте, передайте x как выход параметр:

>>> y = rng.permuted(x, axis=1, out=x)
>>> x
array([[ 3,  0,  4,  7,  1,  6,  2,  5],  # random
       [ 8, 14, 13,  9, 12, 11, 15, 10],
       [17, 18, 16, 22, 19, 23, 20, 21]])

Обратите внимание, что когда out если параметр задан, возвращаемое значение out:

>>> y is x
True