从低(包含)到高(包含)返回随机整数,或者如果endpoint = True,则从低(包含)到高(包含)返回随机整数。取代RandomState.randint(端点为False)和RandomState.random_integers(端点= True)
从指定dtype的“discrete uniform”分布返回随机整数。如果high为None(默认值),则结果为0到low。
参数:low: : int 或 array-like of ints
从分布中得出的最低(带符号)整数(除非high=None,在这种情况下,此参数为0,并且此值表示高)。
high: : int 或 array-like of ints, 可选参数
如果提供的话,则从分布中得出的最大(有符号)整数上方的一个(有关行为,请参见上文high=None)。如果array-like,则必须包含整数值
size: : int 或 tuple of ints, 可选参数
输出形状。如果给定的形状是(m, n, k), 然后m * n * k抽取样品。默认值为无,在这种情况下,将返回单个值。
dtype: : {str, dtype}, 可选参数
结果的所需dtype。所有dtype均由其名称(即‘int64’,‘int’等)确定,因此字节顺序不可用,并且特定精度可能会因平台而异。默认值为“ np.int”。
endpoint: : bool, 可选参数
如果为true,则从时间间隔[low,high]而不是默认值[low,high]采样默认为False
返回值:out: : int或int的ndarray
size-shaped来自适当分布的随机整数数组;如果未提供大小,则为单个此类随机int。
注意:
当使用具有uint64 dtypes的广播时,最大值(2 ** 64)不能表示为标准整数类型。高位数组(如果高为None,则为低)必须具有对象dtype,例如array([2 ** 64])。
参考文献:
[1]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])
生成一个2 x 4 int数组,介于0和4之间,包括以下值:
>>> rng.integers(5, size=(2, 4))
array([[4, 0, 2, 1],
[3, 2, 2, 0]]) # random
生成具有3个不同上限的1 x 3数组
>>> rng.integers(1, [3, 5, 10])
array([2, 2, 9]) # random
生成具有3个不同下限的1 x 3数组
>>> rng.integers([1, 5, 7], 10)
array([9, 8, 7]) # random
使用uint8的dtype广播生成2 x 4数组
>>> rng.integers([1, 3, 5, 7], [[10], [20]], dtype=np.uint8)
array([[ 8, 6, 9, 7],
[ 1, 16, 9, 12]], dtype=uint8) # random