numpy.random.RandomState.random_integers
-
RandomState.random_integers(low, high=None, size=None) -
Случайные целые числа типа np.int в диапазоне от
lowдоhigh, включительно.Возвращает случайные целые числа типа np.int из «равномерного дискретного» распределения в замкнутом интервале [
low,high]. Еслиhighравно None (по умолчанию), то результаты берутся из [1,low]. Тип np.int соответствует типу C long, используемому Python 2 для «коротких» целых чисел, и его точность зависит от платформы.Эта функция устарела. Используйте randint вместо неё.
Устарело начиная с версии 1.11.0.
Параметры: low : int
Наименьшее (знаковое) целое число, которое должно быть выбрано из распределения (если
high=None, в этом случае этот параметр является наибольшим таким целым числом).high : int, необязательно
Если указано, наибольшее (знаковое) целое число, которое должно быть выбрано из распределения (см. выше поведение, если
high=None).size : int или кортеж из целых чисел, необязательно
Форма выходных данных. Если заданная форма, например,
(m, n, k), тоm * n * kвыборок выбираются. По умолчанию None, в этом случае возвращается одно значение.Возвращает: out : int или массив ndarray целых чисел
size-форма массива случайных целых чисел из соответствующего распределения или одно такое случайное целое число, еслиsizeне указано.См. также
-
random.randint - Аналогично
random_integers, только для полуоткрытого интервала [low,high), и 0 является наименьшим значением, еслиhighопущено.
Примечания
Чтобы выбрать N равномерно распределённых чисел с плавающей точкой между a и b, используйте:
a + (b - a) * (np.random.random_integers(N) - 1) / (N - 1.)
Примеры
>>> np.random.random_integers(5) 4 >>> type(np.random.random_integers(5)) <type 'int'> >>> np.random.random_integers(5, size=(3,2)) array([[5, 4], [3, 3], [4, 5]])Выбрать пять случайных чисел из набора из пяти равномерно распределённых чисел между 0 и 2,5 включительно (т.е., из набора
):
>>> 2.5 * (np.random.random_integers(5, size=(5,)) - 1) / 4. array([ 0.625, 1.25 , 0.625, 0.625, 2.5 ])
Бросить две шестигранные кости 1000 раз и сложить результаты:
>>> d1 = np.random.random_integers(1, 6, 1000) >>> d2 = np.random.random_integers(1, 6, 1000) >>> dsums = d1 + d2
Отобразить результаты в виде гистограммы:
>>> import matplotlib.pyplot as plt >>> count, bins, ignored = plt.hist(dsums, 11, normed=True) >>> plt.show()
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.random.RandomState.random_integers.html