numpy.random.Generator.standard_normal#

方法

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

从标准正态分布 (均值=0,标准差=1) 中抽取样本。

参数:
sizeint 或 int 元组,可选

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

dtypedtype,可选

所需结果 dtype,仅支持 float64float32。字节序必须为原生字节序。默认值为 np.float64。

outndarray,可选

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

返回:
outfloat 或 ndarray

形状为 size 的抽取样本的浮点数组,如果未指定 size,则为单个样本。

另请参阅

normal

具有附加 locscale 参数的等效函数,用于设置均值和标准差。

备注

对于均值为 mu 且标准差为 sigma 的正态分布的随机样本,请使用以下方法之一

mu + sigma * rng.standard_normal(size=...)
rng.normal(mu, sigma, size=...)

示例

>>> rng = np.random.default_rng()
>>> rng.standard_normal()
2.1923875335537315 # random
>>> s = rng.standard_normal(8000)
>>> s
array([ 0.6888893 ,  0.78096262, -0.89086505, ...,  0.49876311,  # random
       -0.38672696, -0.4685006 ])                                # random
>>> s.shape
(8000,)
>>> s = rng.standard_normal(size=(3, 4, 2))
>>> s.shape
(3, 4, 2)

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

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