numpy.random.choice
-
numpy.random.choice(a, size=None, replace=True, p=None) -
Генерирует случайную выборку из заданного одномерного массива
Новая в версии 1.7.0.
Параметры: a : одномерный массив-подобный объект или целое число
Если ndarray, случайная выборка генерируется из его элементов. Если целое число, случайная выборка генерируется как если бы a было np.arange(a)
size : целое число или кортеж целых чисел, необязательно
Форма выходных данных. Если заданная форма, например,
(m, n, k), тоm * n * kвыборок извлекается. По умолчанию None, в этом случае возвращается единственное значение.replace : логическое значение, необязательно
С возвращением или без возвращения элементов в выборке
p : одномерный массив-подобный объект, необязательно
Вероятности, связанные с каждым элементом в a. Если не задано, выборка предполагает равномерное распределение по всем элементам в a.
Возвращает: samples : единственный элемент или 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]) >>> #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])
Генерация равномерной случайной выборки из np.arange(5) размера 3 без возвращения элементов:
>>> np.random.choice(5, 3, replace=False) array([3,1,0]) >>> #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])
Любое из вышеперечисленного может быть повторено с произвольным массивом-подобным объектом вместо только целых чисел. Например:
>>> 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'], dtype='|S11')
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.random.choice.html