numpy.random.RandomState.choice
метод
-
RandomState.choice(a, size=None, replace=True, p=None) -
Генерирует случайную выборку из заданного одномерного массива
Новая в версии 1.7.0.
Примечание
Новый код должен использовать метод
choiceэкземпляраdefault_rng(); см.random-quick-start.- Параметры
-
-
a1-D array-like or int -
Если массив NumPy, то случайная выборка генерируется из его элементов. Если целое число, случайная выборка генерируется как если бы a было np.arange(a)
-
sizeint or tuple of ints, optional -
Форма выходных данных. Если заданная форма, например,
(m, n, k), тоm * n * kэлементов выбираются. По умолчанию None, в этом случае возвращается одно значение. -
replaceboolean, optional -
Выборка с заменой или без замены
-
p1-D array-like, optional -
Вероятности, связанные с каждым элементом в a. Если не заданы, выборка предполагает равномерное распределение по всем элементам в a.
-
- Возвращает
-
-
samplessingle item or ndarray -
Сгенерированные случайные выборки
-
- Возбуждает
-
- ValueError
-
Если a целое число и меньше нуля, если a или p не одномерные, если a – массив размером 0, если p – не вектор вероятностей, если a и p имеют разную длину, или если replace=False и размер выборки больше размера генеральной совокупности
Примеры
Генерирует случайную выборку из 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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/random/generated/numpy.random.RandomState.choice.html