numpy.random.Generator.permuted#
метод
- random.Generator.переставленный(x, ось=None, выход=None)#
Случайная перестановка x вдоль оси ось.
В отличие от
shuffle, каждый срез вдоль заданной оси перемешивается независимо от других.- Параметры:
- xarray_like, как минимум одномерный
Массив для перемешивания.
- осьint, необязательный
Срезы x в этой оси перемешиваются. Каждый срез перемешивается независимо от других. Если ось равно None, сглаженный массив перемешивается.
- выходndarray, необязательно
Если указан, это место назначения перемешанного массива. Если выход равно None, возвращается перемешанная копия массива.
- Возвращает:
- ndarray
Если выход равно None, перемешанная копия x возвращается. В противном случае перемешанный массив сохраняется в выход, и выход возвращается
Смотрите также
Примечания
Важное различие между методами
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