方法
random.Generator.
integers
从返回随机整数 low (包括) high (独占),或者如果endpoint=True, low (包括) high (含)。替换 RandomState.randint (端点为False)和 RandomState.random_integers (端点为真)
RandomState.randint
RandomState.random_integers
从指定数据类型的“离散均匀”分布返回随机整数。如果 high 为“无”(默认值),则结果从0到 low .
从分布中提取的最小(有符号)整数(除非 high=None ,在这种情况下,此参数为0,此值用于 high )
high=None
如果提供,将从分布中提取的最大(有符号)整数上方的一个(请参见上面的行为,如果 high=None ). 如果类似于数组,则必须包含整数值
输出形状。如果给定的形状是,例如, (m, n, k) 然后 m * n * k 取样。默认值为无,在这种情况下返回单个值。
(m, n, k)
m * n * k
结果的所需数据类型。字节顺序必须是本机的。默认值为np.int64型.
如果为真,则从间隔中取样 [低,高] 而不是默认值[低,高]默认为False
size -来自适当分布的随机整数的整形数组,或单个这样的随机整数,如果 size 未提供。
笔记
使用uint64数据类型的广播时,最大值(2 64)不能表示为标准整数类型。高位数组(如果高位为无,则为低位)必须具有对象数据类型,例如array([2 64]).
工具书类
Daniel Lemire.,“区间内快速随机整数生成”,ACM建模与计算机仿真学报29(1),2019,http://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])
生成介于0和4之间的2 x 4整数数组,包括:
>>> rng.integers(5, size=(2, 4)) array([[4, 0, 2, 1], [3, 2, 2, 0]]) # random
生成具有3个不同上界的1x3数组
>>> rng.integers(1, [3, 5, 10]) array([2, 2, 9]) # random
生成具有3个不同下界的1×3数组
>>> rng.integers([1, 5, 7], 10) array([9, 8, 7]) # random
使用数据类型为uint8的广播生成2×4数组
>>> rng.integers([1, 3, 5, 7], [[10], [20]], dtype=np.uint8) array([[ 8, 6, 9, 7], [ 1, 16, 9, 12]], dtype=uint8) # random