NumPy 随机模块

NumPy random.ranf() 函数返回给定形状的随机值。该函数创建给定形状的数组,并用从 [0, 1) 上的连续均匀分布中抽取的随机样本填充该数组。

用于从 unif[a, b) 生成随机值,b>a ,可以使用以下关系:

(b-a) * np.random.ranf() + a

语法

numpy.random.ranf(size=None) 

参数

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

返回值

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

示例:

在下面的示例中,random.ranf() 函数用于生成单个随机值。

import numpy as np

x = np.random.ranf()

#打印随机数
print("x =", x) 

上述代码的输出将是:

x = 0.22076149806948886 

示例:

在下面的示例中,该函数用于生成指定形状的随机值。

import numpy as np

#创建给定大小的数组
#填充随机数
x = np.random.ranf((5, 3))

#打印 x
print("x =\n", x) 

上述代码的输出将是:

[[0.83427982 0.14928282 0.63731192]
 [0.65008078 0.18633094 0.18742767]
 [0.61075212 0.01129346 0.11458491]
 [0.99085745 0.28475412 0.19810717]
 [0.51604249 0.42201909 0.09791535]] 

示例:

通过使用(b-a) * np.random.ranf() + a关系,我们可以定义均匀分布来从中抽取样本。

import numpy as np

#创建一个给定大小的数组,填充
#从 [10, 20) 中抽取的随机数
x = (20-10) * np.random.ranf((5, 3)) + 10

#打印 x
print(x) 

上述代码的输出将是:

[[14.5350012  11.50377783 13.98438303]
 [14.23121651 18.92345323 13.35319144]
 [18.98417555 18.79124236 18.35668005]
 [12.79211314 11.84763782 16.63781161]
 [11.86143982 19.85435164 13.33015107]]