Spec-Zone.ru › NumPy 2.0

numpy.random.choice

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

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

Новая версия с 1.7.0.

Примечание

Новый код должен использовать метод choice экземпляра Generator; см. Быстрый старт.

Предупреждение

Эта функция использует тип данных C-long, который имеет 32 бита на Windows и в противном случае 64 бита на 64-битных платформах (и 32 бита на 32-битных). Начиная с NumPy 2.0, по умолчанию в NumPy используется целочисленный тип 32 бита на 32-битных платформах и 64 бита на 64-битных платформах.

Параметры:
aОдномерный массив-подобный объект или целое число

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

sizeЦелое число или кортеж целых чисел, необязательно

Форма выходных данных. Если заданная форма, например, (m, n, k), то m * n * k выборок генерируются. По умолчанию None, в этом случае возвращается единственное значение.

replaceбулево значение, необязательно

Выборка с или без возвращения. По умолчанию True, что означает, что значение a может быть выбрано несколько раз.

pОдномерный массив-подобный объект, необязательно

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

Возвращает:
samplesЕдинственный элемент или массив NumPy

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

Возбуждает:
ValueError

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

См. также

randint, shuffle, permutation
random.Generator.choice

который следует использовать в новом коде

Примечания

Установка пользователем заданных вероятностей с помощью p использует более общий, но менее эффективный метод выборки, чем по умолчанию. Общий метод выборки производит другую выборку, чем оптимизированный метод даже если каждый элемент p равен 1 / len(a).

Выборка случайных строк из двумерного массива с помощью этой функции невозможна, но возможна с помощью Generator.choice через его axis ключевое слово.

Примеры

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

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

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

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

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

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

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

>>> np.random.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']
>>> np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'], # random
      dtype='<U11')

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

Spec-Zone.ru

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