numpy.random.randint#

random.randint(low, high=None, size=None, dtype=int)#

返回从 low (包括) 到 high (不包括) 的随机整数。

返回指定 dtype 的 “半开” 区间 [low, high) 内 “离散均匀” 分布的随机整数。如果 high 为 None (默认值),则结果来自 [0, low)。

注意

新代码应使用 integers 方法来创建 Generator 实例;请参阅快速入门

参数:
lowint 或类数组的 int

从分布中提取的最小(有符号)整数(除非 high=None,在这种情况下,此参数是最高此类整数之上一个的整数)。

highint 或类数组的 int,可选

如果提供,则比从分布中提取的最大(有符号)整数大一(如果 high=None,则请参见上面的行为)。如果为类数组,则必须包含整数值

sizeint 或 int 元组,可选

输出形状。如果给定的形状为,例如 (m, n, k), 则抽取 m * n * k 个样本。默认为 None,在这种情况下,返回单个值。

dtypedtype,可选

结果所需的 dtype。字节顺序必须是 native。默认值是 long。

警告

此函数默认为 C-long dtype,在 Windows 上是 32 位,在 64 位平台上是 64 位(在 32 位平台上是 32 位)。自 NumPy 2.0 以来,NumPy 的默认整数在 32 位平台上是 32 位,在 64 位平台上是 64 位。这对应于 np.intp。(dtype=int 与大多数 NumPy 函数中的不同。)

返回:
outint 或 int 的 ndarray

size 形的来自适当分布的随机整数数组,如果未提供 size 则返回单个随机整数。

参见

random_integers

类似于 randint, 仅适用于闭区间 [low, high], 如果省略 high, 则 1 是最小值。

random.Generator.integers

应该用于新代码。

示例

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

生成一个 2 x 4 的整数数组,范围在 0 到 4 之间,包括 0 和 4

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

生成一个 1 x 3 的数组,其中有 3 个不同的上限

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

生成一个 1 x 3 的数组,其中有 3 个不同的下限

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

使用广播生成一个 2 x 4 的数组,dtype 为 uint8

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