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

Метод choice

Метод choice класса Generator возвращает случайный элемент или набор элементов из переданного одномерного массива. Первым параметром метод принимает массив или целое число (в этом случае он эквивалентен np.arange(a)). Вторым параметром size задаётся форма выходного массива. Третьим параметром replace определяет, разрешены ли повторения элементов. Четвертым параметром p можно передать вероятности для каждого элемента.

Синтаксис

generator.choice(a, size=None, replace=True, p=None)

Пример

Давайте создадим генератор и выберем случайный элемент из массива чисел:

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

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

3

Пример

Давайте выберем несколько элементов из массива с повторением:

import numpy as np rng = np.random.default_rng(0) arr = np.array([1, 2, 3, 4, 5]) res = rng.choice(arr, size=5, replace=True) print(res)

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

[5 1 3 4 4]

Пример

Давайте выберем несколько элементов без повторения:

import numpy as np rng = np.random.default_rng(0) arr = np.array([1, 2, 3, 4, 5]) res = rng.choice(arr, size=3, replace=False) print(res)

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

[5 1 3]

Пример

Давайте выберем элементы с заданными вероятностями:

import numpy as np rng = np.random.default_rng(0) arr = np.array(['a', 'b', 'c', 'd', 'e']) probs = np.array([0.1, 0.1, 0.1, 0.1, 0.6]) res = rng.choice(arr, size=10, p=probs) print(res)

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

['e' 'a' 'c' 'e' 'e' 'e' 'e' 'd' 'e' 'e']

Пример

Давайте создадим двухмерный массив случайных выборок:

import numpy as np rng = np.random.default_rng(0) arr = np.array([10, 20, 30, 40, 50]) res = rng.choice(arr, size=(2, 3), replace=True) print(res)

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

[[50 10 30] [40 40 10]]

Пример

Давайте передадим целое число вместо массива (эквивалент np.arange(5)):

import numpy as np rng = np.random.default_rng(0) res = rng.choice(5, size=10, replace=True) print(res)

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

[4 0 2 3 3 4 4 1 4 4]

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

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