Spec-Zone.ru › NumPy 1.20

numpy.random.Generator.permuted

метод

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

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

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

Параметры
xarray_like, at least one-dimensional

Массив, который нужно перетасовать.

axisint, optional

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

outndarray, optional

Если указано, это место назначения перетасованного массива. Если 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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/random/generated/numpy.random.Generator.permuted.html

Spec-Zone.ru

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