Spec-Zone.ru › NumPy 1.21

numpy.random.Generator.permuted

метод

random.Generator.permuted(x, axis=None, out=None)

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

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

Параметры
xarray_like, по крайней мере одномерный

Массив для перестановки.

axisint, необязательно

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

outndarray, необязательно

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

Возвращаемое значение
ndarray

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

См. также

shuffle
permutation

Примеры

Создайте экземпляр 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 в качестве параметра out:

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

© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/random/generated/numpy.random.Generator.permuted.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API