Spec-Zone.ru › NumPy 1.17

numpy.random.Generator.choice

метод

Generator.choice()

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

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

Параметры:
a : 1-D array-like or int

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

size : int or tuple of ints, optional

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

replace : boolean, optional

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

p : 1-D array-like, optional

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

axis : int, optional

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

shuffle : boolean, optional

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

Возвращает:
samples : single 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/random/generated/numpy.random.Generator.choice.html

Spec-Zone.ru

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