numpy.random.randn#

random.randn(d0, d1, ..., dn)#

从“标准正态”分布中返回一个或多个样本。

注意

这是一个方便的函数,供从 Matlab 移植代码的用户使用,它封装了 standard_normal。该函数接受一个元组来指定输出的大小,这与其他 NumPy 函数(如 numpy.zerosnumpy.ones)一致。

注意

新代码应使用 Generator 实例的 standard_normal 方法;请参阅 快速入门

如果提供了正整数参数,randn 将生成一个形状为 (d0, d1, ..., dn) 的数组,其中填充了从均值为 0、方差为 1 的单变量“正态”(高斯)分布中抽样的随机浮点数。如果没有提供参数,则返回一个从该分布中随机抽样的单个浮点数。

参数:
d0, d1, …, dnint, optional

返回数组的维度,必须是非负的。如果没有提供参数,则返回一个单独的 Python float。

返回:
Zndarray 或 float

一个形状为 (d0, d1, ..., dn) 的标准正态分布浮点样本数组,如果未提供参数,则是一个这样的单个浮点数。

另请参阅

standard_normal

类似,但接受一个元组作为其参数。

normal

也接受 mu 和 sigma 参数。

random.Generator.standard_normal

新代码应使用此方法。

备注

对于均值为 mu、标准差为 sigma 的正态分布的随机样本,请使用

sigma * np.random.randn(...) + mu

示例

>>> np.random.randn()
2.1923875335537315  # random

均值为 3,标准差为 2.5 的正态分布样本的二维四数组

>>> 3 + 2.5 * np.random.randn(2, 4)
array([[-4.49401501,  4.00950034, -1.81814867,  7.29718677],   # random
       [ 0.39924804,  4.68456316,  4.99394529,  4.84057254]])  # random