Чтобы сгенерировать случайные перестановки в Python, вы можете использовать функцию np.random.permutation(). Если предоставленный параметр является многомерным массивом, он перемешивается только вместе со своим первым индексом.
- Что такое функция np.random.permutation() в Python?
- Синтаксис
- Параметры
- Возвращаемое значение
- Шаги для создания случайной перестановки в NumPy
- Шаг 1. Импортируйте библиотеку NumPy
- Шаг 2: Определите функцию np.random.permutation()
- Передача массива в качестве аргумента np.random.permutation()
- Передача матрицы в качестве аргумента np.random.permutation()
Что такое функция np.random.permutation() в Python?
np.random.permutation() — это математическая функция, случайным образом переставляющая последовательность или возвращающая переставленный диапазон.
Метод random permutation() принимает x, параметр типа int или array_like, и возвращает переставленную последовательность или диапазон массива.
Синтаксис
|
1 |
numpy.random.permutation(x) |
Параметры
- x: int или array_like.
Если x является целым числом, оно случайным образом переставляет np.arange(x).
Если x — массив, сделайте копию и перетасуйте элементы случайным образом.
Возвращаемое значение
Функция np.random.permutation() возвращает переставленную последовательность или диапазон массива.
Шаги для создания случайной перестановки в NumPy
Шаг 1. Импортируйте библиотеку NumPy
Я использую Python 3.8, который является последним на момент написания этого руководства.
Если вы не установили библиотеку NumPy на свой компьютер, вы можете установить ее с помощью следующей команды.
|
1 |
python3 -m pip install -U numpy |
В прошлом, если вы использовали такие пакеты, как Pandas, скорее всего, вы уже установили NumPy.
Теперь давайте продолжим и создадим файл проекта с именем app.py, а внутри этого файла импортируем библиотеку NumPy.
|
1 2 3 |
# app.py import numpy as np |
Шаг 2: Определите функцию np.random.permutation()
Функция np.random.permutation() принимает аргумент. Давайте передадим целое число 10 в качестве аргумента.
Это означает, что он выведет 10 элементов, сгенерированных случайным образом в массиве NumPy.
См. следующий код.
|
1 2 3 4 5 6 |
# app.py import numpy as np data = np.random.permutation(10) print(data) |
Выход
|
1 2 |
python3 app.py [5 8 7 3 4 6 1 9 0 2] |
Передача массива в качестве аргумента np.random.permutation()
В приведенном выше примере мы передали цифру(целое число) в качестве аргумента.
Давайте передадим массив целых чисел в аргумент и посмотрим на результат.
|
1 2 3 4 5 6 |
# app.py import numpy as np data = np.random.permutation([11, 46, 29, 21, 19]) print(data) |
Выход
|
1 2 |
python3 app.py [11 21 29 19 46] |
Он перетасовывает список и выдает результат.
Передача матрицы в качестве аргумента np.random.permutation()
Numpy.arange() — это встроенная функция numpy, которая возвращает объект ndarray, содержащий равномерно распределенные значения в пределах определенного интервала.
Например, если вы хотите создать значения от 1 до 10, вы можете использовать функцию numpy.arange().
Теперь мы будем использовать функцию arange() для создания значений, а затем преобразуем их в матрицу, а затем передадим матрицу в функцию np.random.permutation().
См. следующий код.
|
1 2 3 4 5 6 |
# app.py import numpy as np arr = np.arange(9).reshape((3, 3)) print(np.random.permutation(arr)) |
Выход
|
1 2 3 4 5 6 7 8 |
➜ pyt python3 app.py [[6 7 8] [0 1 2] [3 4 5]] ➜ pyt python3 app.py [[0 1 2] [3 4 5] [6 7 8]] |
Вы будете получать разные случайные результаты каждый раз, когда запускаете приведенный выше код.
