numpy.random.Generator.choice
метод
-
random.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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/random/generated/numpy.random.Generator.choice.html