numpy.random.Generator.integers#

метод

random.Generator.целые числа(низкий, высокий=None, размер=None, dtype=np.int64, конечная точка=False)#

Возвращает случайные целые числа из низкий (включительно) до высокий (исключительно), или если endpoint=True, низкий (включительно) до высокий (включительно). Заменяет RandomState.randint (с endpoint=False) и RandomState.random_integers (с endpoint=True)

Возвращает случайные целые числа из "дискретного равномерного" распределения указанного типа данных. Если высокий равно None (по умолчанию), тогда результаты от 0 до низкий.

Параметры:
низкийint или array-like из int

Наименьшие (знаковые) целые числа для выборки из распределения (если high=NoneЧто происходит при освобождении памяти, если политика не установлена высокий).

высокийint или array-like из int, необязательно

hermevander2d high=None). Если массивоподобный, должен содержать целочисленные значения

размерint или кортеж ints, опционально

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

dtypedtype, опционально

Желаемый dtype результата. Порядок байтов должен быть нативным. Значение по умолчанию — np.int64.

конечная точкаbool, необязательно

Если true, выборка из интервала [low, high] вместо стандартного [low, high) По умолчанию False

Возвращает:
выходint или ndarray из int

size-образный массив случайных целых чисел из соответствующего распределения, или одно такое случайное целое число, если size не предоставлено.

Примечания

При использовании broadcasting с типами данных uint64 максимальное значение (2**64) не может быть представлено как стандартный целочисленный тип. Высокий массив (или низкий, если high равен None) должен иметь тип данных object, например, array([2**64]).

Ссылки

[1]

Daniel Lemire., “Fast Random Integer Generation in an Interval”, ACM Transactions on Modeling and Computer Simulation 29 (1), 2019, https://arxiv.org/abs/1805.10941.

Примеры

>>> rng = np.random.default_rng()
>>> rng.integers(2, size=10)
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])  # random
>>> rng.integers(1, size=10)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

Сгенерируйте массив 2 x 4 целых чисел от 0 до 4 включительно:

>>> rng.integers(5, size=(2, 4))
array([[4, 0, 2, 1],
       [3, 2, 2, 0]])  # random

Создать массив 1 x 3 с тремя различными верхними границами

>>> rng.integers(1, [3, 5, 10])
array([2, 2, 9])  # random

Создайте массив 1 на 3 с тремя различными нижними границами

>>> rng.integers([1, 5, 7], 10)
array([9, 8, 7])  # random

Сгенерировать массив 2 на 4 с использованием broadcasting с dtype uint8

>>> rng.integers([1, 3, 5, 7], [[10], [20]], dtype=np.uint8)
array([[ 8,  6,  9,  7],
       [ 1, 16,  9, 12]], dtype=uint8)  # random