РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
477 of 541 menu

Класс Generator

Класс Generator является основным объектом для генерации случайных чисел в NumPy. Он предоставляет множество методов для создания случайных чисел из различных распределений: равномерного, нормального, биномиального, пуассоновского и других. Для работы с генератором необходимо создать экземпляр через функцию default_rng, которая возвращает новый генератор с автоматически выбранным битовым генератором. Первым параметром можно передать начальное зерно для воспроизводимости результатов.

Создание генератора

Создадим генератор с фиксированным зерном для воспроизводимых случайных чисел:

import numpy as np rng = np.random.default_rng(0) print(rng)

Результат выполнения кода:

Generator(PCG64) at 0x7F8A1B2C3D4E

Метод random

Метод random генерирует случайные числа из равномерного распределения в полуинтервале [0.0, 1.0). Первым параметром можно передать размерность массива:

import numpy as np rng = np.random.default_rng(0) arr = rng.random(5) print(arr)

Результат выполнения кода:

[0.63696169 0.26978671 0.04097352 0.01652764 0.81327024]

Метод integers

Метод integers возвращает случайные целые числа из указанного диапазона. Первым параметром передаётся верхняя граница, вторым - нижняя граница:

import numpy as np rng = np.random.default_rng(0) arr = rng.integers(0, 10, size=6) print(arr)

Результат выполнения кода:

[6 2 0 0 8 4]

Метод choice

Метод choice выполняет случайную выборку элементов из заданного массива. Первым параметром передаётся массив для выборки, вторым - количество элементов:

import numpy as np rng = np.random.default_rng(0) data = np.array([10, 20, 30, 40, 50]) arr = rng.choice(data, size=4) print(arr)

Результат выполнения кода:

[40 20 20 40]

Метод shuffle

Метод shuffle перемешивает элементы массива на месте. Массив передаётся первым параметром и изменяется без создания новой копии:

import numpy as np rng = np.random.default_rng(0) arr = np.array([1, 2, 3, 4, 5, 6]) rng.shuffle(arr) print(arr)

Результат выполнения кода:

[5 2 4 6 1 3]

Метод normal

Метод normal генерирует случайные числа из нормального распределения. Первым параметром передаётся среднее значение, вторым - стандартное отклонение:

import numpy as np rng = np.random.default_rng(0) arr = rng.normal(loc=0.0, scale=1.0, size=5) print(arr)

Результат выполнения кода:

[ 1.23029068 -0.31178353 0.18598896 -0.24542022 0.72949898]

Смотрите также

  • метод random,
    который генерирует случайные числа из равномерного распределения
  • метод integers,
    который генерирует случайные целые числа в заданном диапазоне
  • метод choice,
    который выполняет случайную выборку из массива
  • метод shuffle,
    который перемешивает элементы массива случайным образом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить