numpy.random.random_integers#
- random.random_integers(low, high=None, size=None)#
类型为
numpy.int_
的随机整数,范围在 low 和 high 之间,包括 low 和 high.返回类型为
numpy.int_
的随机整数,从”离散均匀”分布的闭区间 [low, high] 中.如果 high 为 None(默认值),则结果来自 [1, low].`numpy.int_` 类型转换为 C 长整型,其精度是平台相关的.此功能已被弃用.请改用 randint.
自 1.11.0 版本弃用.
- 参数:
- lowint
从分布中抽取的最低(有符号)整数(除非
high=None
,在这种情况下,此参数是此类整数的*最高*值).- highint, 可选
如果提供,将从分布中抽取的最大(有符号)整数(如果
high=None
,请参见上面的行为).- size整数或整数的元组,可选
输出形状.如果给定的形状是,例如,``(m, n, k)``,那么会抽取
m * n * k
个样本.默认是 None,在这种情况下会返回一个单一值.
- 返回:
- out整数或整数的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和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()