numpy.random.randint#

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

low (包含) 到 high (不包含) 返回随机整数.

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

备注

新代码应当使用 Generator 实例的 integers 方法;请参考 快速入门 .

参数:
lowint 或类数组的 ints

从分布中抽取的最低(带符号)整数(除非 high=None ,在这种情况下,此参数比最高此类整数高1).

highint 或类数组的 ints,可选

如果提供,则比要从分布中抽取的最大(有符号)整数大 1(有关 high=None 时的行为,请参见上文).如果为类数组,则必须包含整数值

sizeint 或 int 的元组,可选.

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

dtypedtype, optional

结果的所需数据类型.字节顺序必须是本地字节序.默认值为 long.

警告

此函数默认为 C-long 数据类型,在 Windows 上为 32 位,否则,在 64 位平台上为 64 位(在 32 位平台上为 32 位). 从 NumPy 2.0 开始,NumPy 的默认整数在 32 位平台上为 32 位,在 64 位平台上为 64 位. 这对应于 np.intp .( dtype=int 与大多数 NumPy 函数中的含义不同.)

返回:
outint 或 ints 的 ndarray

来自适当分布的 size 形状的随机整数数组,如果未提供 size ,则为单个此类随机 int.

参见

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

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

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