当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy RandomState.uniform用法及代码示例


本文简要介绍 python 语言中 numpy.random.RandomState.uniform 的用法。

用法:

random.RandomState.uniform(low=0.0, high=1.0, size=None)

从均匀分布中抽取样本。

样本均匀分布在半开区间[low, high)(包括低,但不包括高)。换句话说,给定区间内的任何值都同样可能被 uniform 绘制。

注意

新代码应改为使用default_rng() 实例的uniform 方法;请参阅快速入门。

参数

low float 或 数组 的浮点数,可选

输出区间的下边界。生成的所有值都将大于或等于低。默认值为 0。

high 浮点数或类似数组的浮点数

输出区间的上边界。生成的所有值都将小于或等于 high。由于等式 low + (high-low) * random_sample() 中的浮点舍入,上限可能包含在返回的浮点数组中。默认值为 1.0。

size int 或整数元组,可选

输出形状。例如,如果给定的形状是 (m, n, k) ,则绘制 m * n * k 样本。如果 size 为 None(默认),如果 lowhigh 都是标量,则返回单个值。否则,将抽取np.broadcast(low, high).size 样本。

返回

out ndarray 或标量

从参数化均匀分布中抽取样本。

注意

均匀分布的概率密度函数为

区间内的任何地方 [a, b) ,其他地方为零。

high == low 时,将返回 low 的值。如果 high < low ,结果是官方未定义的,最终可能会引发错误,即当传递满足该不等式条件的参数时,不要依赖此函数的行为。由于等式 low + (high-low) * random_sample() 中的浮点舍入,high 限制可能包含在返回的浮点数组中。例如:

>>> x = np.float32(5*0.99999999)
>>> x
5.0

例子

从分布中抽取样本:

>>> s = np.random.uniform(-1,0,1000)

所有值都在给定的区间内:

>>> np.all(s >= -1)
True
>>> np.all(s < 0)
True

显示样本的直方图以及概率密度函数:

>>> import matplotlib.pyplot as plt
>>> count, bins, ignored = plt.hist(s, 15, density=True)
>>> plt.plot(bins, np.ones_like(bins), linewidth=2, color='r')
>>> plt.show()
numpy-random-RandomState-uniform-1.png

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.random.RandomState.uniform。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。