Для случайного перемешивания в массиве Numpy используйте метод np random shuffle (). Функция shuffle () изменяет последовательность на месте, перетасовывая ее содержимое.
- Numpy random shuffle ()
- Синтаксис
- Параметры
- Возвращаемое значение
- Пример программирования
- Программа для демонстрации работы numpy.random.shuffle ()
- Вывод
- Объяснение
- Программа для понимания работы метода np.random.shuffle () в случае многомерных массивов.
- Вывод
- Пояснение n
- Многомерный перемешивание массивов с использованием arange () и shuffle ()
- Вывод
- См. также
Numpy random shuffle ()
random.shuffle () используется для изменения последовательности на месте путем перетасовки ее содержимого. В случае многомерных массивов массив перемещается только по первой оси. Метод shuffle () принимает единственный аргумент с именем seq_name и возвращает измененную форму исходной последовательности.
Кроме того, изменяется только порядок подмассивов в многомерных массивах, но не содержимое внутри подмассивов. Следует иметь в виду, что метод random.shuffle () изменяет исходную последовательность и не возвращает новую последовательность.
Синтаксис
numpy.random.shuffle (seq_name)
Параметры
Функция numpy shuffle () принимает только один параметр:
seq_name: Это входная последовательность, элементы которой необходимо перемешать на месте.
Возвращаемое значение
Метод shuffle () возвращает измененную форму исходной последовательности.
Пример программирования
Программа для демонстрации работы numpy.random.shuffle ()
# импорт модуля numpy import numpy как np # Создание списка целых чисел org_list = [10, 20, 30, 40, 50, 60] # Преобразование списка в массив numpy seq = np.array (org_list) # Печать содержимого исходной последовательностиprint ("Исходный порядок последовательности:", seq) # Выполнение операции перемешивания np.random.shuffle (seq) # Печать содержимого последовательности после перемешивания печати t (" nПоследовательность вывода, полученная после перемешивания:", seq)
Вывод
Исходный порядок последовательности: [10 20 30 40 50 60] Выходная последовательность, полученная после перемешивания: [10 50 40 30 60 20]
Объяснение
В приведенном выше примере кода мы взяли список целых чисел с именем org_list и сохранили несколько целочисленных элементов внутри списка. Затем мы передали полный список в качестве параметра внутри метода np.array (), который преобразует обычный список в массив numpy.
Затем мы можем просмотреть порядок элементов исходной последовательности, распечатав ее содержимое. Затем эта последовательность передается как единственный параметр внутри numpy.random.shuffle () для изменения ее содержимого.
Метод np random shuffle () возвращает перемешанную последовательность, и это можно проверить, распечатав порядок элементов в измененной последовательности.
Как видно из вывода, содержимое исходной последовательности также перетасовывается, новая последовательность не возвращается методом.
Программа для понимания работы метода np.random.shuffle () в случае многомерных массивов.
См. Следующий код.
# импорт модуля numpy import numpy как np # Создание исходной последовательности многомерного массива seq = np.array ([[9, 8, 7], [6, 5, 4], [3, 2, 1]]) # Печать формы многомерного массиваprint ("Форма исходной последовательности:", seq.shape) # Печать содержимого исходной последовательности ("Исходный порядок последовательности: ", seq) # Выполнение операции перемешивания np.random.shuffle (seq) # Печать содержимого последовательности после перемешиванияprint (" nПоследовательность вывода, полученная после перемешивания: ", seq) print (" Форма перемешанной последовательности: ", seq. shape)
Вывод
Форма исходной последовательности: (3, 3) Исходный порядок последовательности: [[ 9 8 7] [6 5 4] [3 2 1]] Выходная последовательность, полученная после перетасовки: [[6 5 4] [3 2 1] [9 8 7]] Форма перетасованной последовательности: (3, 3)
Пояснение n
В приведенном выше примере кода многомерный массив формы 3X3 был создан как исходная последовательность, содержащая несколько случайных целочисленных значений.
Теперь мы можем просмотреть порядок элементов исходной последовательности, распечатав ее содержимое. Затем эта последовательность передается как единственный параметр внутри numpy.random.shuffle () для изменения ее содержимого. Метод shuffle () возвращает перемешанную последовательность, и это можно проверить, напечатав порядок элементов в измененной последовательности, что подмассивы перемешиваются только вдоль его первой оси, то есть в строках.
Кроме того, содержимое, хранящееся внутри подмассивов, остается в том же порядке, и они не перемешиваются.
Многомерный перемешивание массивов с использованием arange () и shuffle ()
Метод numpy arange () возвращает объект ndarray , содержащий равномерно распределенные значения в заданном диапазоне. Мы можем создать 9 случайных элементов, а затем изменить их форму до (3 x 3), а затем использовать перемешивание элементов с помощью метода np random shuffle ().
# импорт модуля numpy import numpy как nparr = np .arange (9) .reshape (3, 3) np.random.shuffle (arr) print (arr)
Вывод
[[3 4 5] [0 1 2] [6 7 8]]
Если вы повторно запустите файл, вы увидите разные результаты. Вот что делает shuffle. Он рандомизирует элементы в определенном порядке в форме массива.
Наконец, метод Numpy random shuffle () в примере Python завершен.
См. также
Numpy random rand ()
Numpy random randn ()
Генерировать случайную перестановку numpy
Модуль Python random
Генерация случайного числа