numpy.random.Generator.random#

方法

random.Generator.random(size=None, dtype=np.float64, out=None)#

返回半开区间 [0.0, 1.0) 内的随机浮点数。

结果来自指定区间上的“连续均匀”分布。要从 \(Unif[a, b), b > a\) 中抽样,请使用 uniform 或将 random 的输出乘以 (b - a) 并加上 a

(b - a) * random() + a
参数:
sizeint 或 int 元组,可选

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

dtype数据类型,可选

所需结果的数据类型,仅支持 float64float32。字节序必须为本地。默认值为 np.float64。

outndarray,可选

用于放置结果的备用输出数组。如果 size 不为 None,则其形状必须与提供的 size 相同,并且必须与输出值的类型匹配。

返回:
outfloat 或 float 类型的 ndarray

形状为 size 的随机浮点数数组(除非 size=None,在这种情况下返回一个单一浮点数)。

另请参阅

uniform

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

示例

>>> rng = np.random.default_rng()
>>> rng.random()
0.47108547995356098 # random
>>> type(rng.random())
<class 'float'>
>>> rng.random((5,))
array([ 0.30220482,  0.86820401,  0.1654503 ,  0.11659149,  0.54323428]) # random

来自 [-5, 0) 的 3x2 随机数数组

>>> 5 * rng.random((3, 2)) - 5
array([[-3.99149989, -0.52338984], # random
       [-2.99091858, -0.79479508],
       [-1.23204345, -1.75224494]])