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