numpy.random.RandomState.random_integers#
方法
- random.RandomState.random_integers(low, high=None, size=None)#
类型为
numpy.int_
的随机整数,介于 low 和 high 之间(包含)。从闭区间 [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,在这种情况下,将返回单个值。
- 返回值:
另请参阅
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(包含)之间的 5 个均匀间隔的数字集中选择 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()