Spec-Zone.ru › NumPy 1.19

numpy.random.Generator.choice

метод

Generator.choice(a, size=None, replace=True, p=None, axis=0, shuffle=True)

Генерирует случайную выборку из заданного одномерного массива

Параметры
a{array_like, int}

Если массив NumPy, случайная выборка генерируется из его элементов. Если целое число, случайная выборка генерируется из np.arange(a).

size{int, tuple[int]}, optional

Форма выходных данных. Если заданная форма, например, (m, n, k), то m * n * k выборок извлекаются из одномерного a. Если a имеет более одной размерности, форма size будет вставлена в axis размерность, поэтому выходные ndim будут a.ndim - 1 + len(size). По умолчанию None, в этом случае возвращается одно значение.

replacebool, optional

Возвращает ли выборка с заменой или без замены

p1-D array_like, optional

Вероятности, связанные с каждым элементом в a. Если не указано, выборка предполагает равномерное распределение по всем элементам в a.

axisint, optional

Ось, вдоль которой выполняется выбор. По умолчанию 0, выбирает по строкам.

shufflebool, optional

Перемешивается ли выборка при выборке без замены. По умолчанию True, False обеспечивает ускорение.

Возвращает
samplessingle item or ndarray

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

Возможные исключения
ValueError

Если a — целое число и меньше нуля, если p не одномерный, если a — массив с размером 0, если p — не вектор вероятностей, если a и p имеют разную длину, или если replace=False, а размер выборки больше размера популяции.

См. также

integers, shuffle, permutation

Примеры

Генерирует случайную равномерную выборку из np.arange(5) размера 3:

>>> rng = np.random.default_rng()
>>> rng.choice(5, 3)
array([0, 3, 4]) # random
>>> #This is equivalent to rng.integers(0,5,3)

Генерирует случайную неравномерную выборку из np.arange(5) размера 3:

>>> rng.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
array([3, 3, 0]) # random

Генерирует случайную равномерную выборку из np.arange(5) размера 3 без замены:

>>> rng.choice(5, 3, replace=False)
array([3,1,0]) # random
>>> #This is equivalent to rng.permutation(np.arange(5))[:3]

Генерирует случайную неравномерную выборку из np.arange(5) размера 3 без замены:

>>> rng.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
array([2, 3, 0]) # random

Любое из вышеперечисленного можно повторить с произвольным массивоподобным объектом вместо только целых чисел. Например:

>>> aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
>>> rng.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'], # random
      dtype='<U11')

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/random/generated/numpy.random.Generator.choice.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API