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
- Возвращает:
Примечания
При использовании 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