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

Метод choice

Метод choice класса RandomState генерирует случайную выборку из заданного одномерного массива или диапазона чисел. Первым параметром метод принимает исходный массив или целое число (в этом случае генерируется выборка из диапазона от 0 до указанного числа). Вторым параметром можно задать размерность выходного массива. Метод позволяет управлять вероятностями выбора каждого элемента и выполнять выборку как с возвращением, так и без.

Синтаксис

np.random.RandomState.choice(a, size=None, replace=True, p=None)

Основные параметры метода:

  • ⁅b⁆a⁅/b⁆ - одномерный массив или целое число, из которого производится выборка;
  • ⁅b⁆size⁅/b⁆ - размерность выходного массива (целое число или кортеж);
  • ⁅b⁆replace⁅/b⁆ - флаг, определяющий выборку с возвращением (True) или без (False);
  • ⁅b⁆p⁅/b⁆ - массив вероятностей для каждого элемента из a.

Пример

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

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

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

2

Пример

Сгенерируем выборку из 5 элементов с заменой из диапазона чисел от 0 до 9:

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

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

[5 6 9 2 4]

Пример

Выполним выборку без возвращения (каждый элемент может быть выбран только один раз):

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

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

[50 40 10]

Пример

Создадим выборку с заданными вероятностями для каждого элемента:

import numpy as np rng = np.random.RandomState(0) arr = np.array([1, 2, 3]) probabilities = np.array([0.1, 0.8, 0.1]) res = rng.choice(arr, size=10, p=probabilities) print(res)

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

[2 2 2 2 2 2 1 2 2 2]

Пример

Сгенерируем двумерный массив случайных выборок:

import numpy as np rng = np.random.RandomState(0) arr = np.array(['a', 'b', 'c', 'd']) res = rng.choice(arr, size=(2, 3)) print(res)

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

[['c' 'd' 'd'] ['b' 'd' 'b']]

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

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