Spec-Zone.ru › NumPy 1.18

numpy.random.Generator.choice

метод

Generator.choice()

choice(a, size=None, replace=True, p=None, axis=0):

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

Параметры
a1-D array-like or int

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

sizeint or tuple of ints, optional

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

replaceboolean, optional

Определяет, производится ли выборка с возвращением или без возвращения

p1-D array-like, optional

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

axisint, optional

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

shuffleboolean, 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.18/reference/random/generated/numpy.random.Generator.choice.html

Spec-Zone.ru

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