numpy.random.random_integers#

random.random_integers(low, high=None, size=None)#

类型为 numpy.int_ 的随机整数,介于 lowhigh 之间(包括)。

从闭区间 [low, high] 中的“离散均匀”分布返回类型为 numpy.int_ 的随机整数。如果 high 为 None(默认值),则结果来自 [1, low]。 numpy.int_ 类型转换为 C 长整型,其精度取决于平台。

此函数已弃用。请改用 randint。

自版本 1.11.0 起弃用。

参数:
lowint

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

highint,可选

如果提供,则要从分布中抽取的最高(带符号)整数(请参见上面关于 high=None 的行为)。

sizeint 或 int 元组,可选

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

返回值:
outint 或 int 的 ndarray

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

另请参阅

randint

类似于 random_integers,只是针对半开区间 [low, high),并且如果省略 high,则 0 为最低值。

注释

要从 a 和 b 之间 N 个均匀间隔的浮点数中进行采样,请使用

a + (b - a) * (np.random.random_integers(N) - 1) / (N - 1.)

示例

>>> np.random.random_integers(5)
4 # random
>>> type(np.random.random_integers(5))
<class 'numpy.int64'>
>>> np.random.random_integers(5, size=(3,2))
array([[5, 4], # random
       [3, 3],
       [4, 5]])

从 0 到 2.5(包括)之间五个均匀间隔的数字集中选择五个随机数(,从集合 \({0, 5/8, 10/8, 15/8, 20/8}\) 中选择)。

>>> 2.5 * (np.random.random_integers(5, size=(5,)) - 1) / 4.
array([ 0.625,  1.25 ,  0.625,  0.625,  2.5  ]) # random

掷两个六面骰子 1000 次并对结果求和

>>> d1 = np.random.random_integers(1, 6, 1000)
>>> d2 = np.random.random_integers(1, 6, 1000)
>>> dsums = d1 + d2

将结果显示为直方图

>>> import matplotlib.pyplot as plt
>>> count, bins, ignored = plt.hist(dsums, 11, density=True)
>>> plt.show()
../../../_images/numpy-random-random_integers-1.png