numpy.random.Generator.standard_normal#
方法
- random.Generator.standard_normal(size=None, dtype=np.float64, out=None)#
从标准正态分布(均值=0,标准差=1)中抽取样本.
- 参数:
- size整数或整数的元组,可选
输出形状.如果给定的形状是,例如,``(m, n, k)``,那么会抽取
m * n * k
个样本.默认是 None,在这种情况下会返回一个单一值.- dtypedtype,可选
期望的结果数据类型,仅支持 float64 和 float32.字节顺序必须是本地的.默认值是 np.float64.
- outndarray, 可选
要在其中放置结果的替代输出数组.如果 size 不是 None,它必须与提供的 size 具有相同的形状,并且必须与输出值的类型匹配.
- 返回:
- out浮点数或ndarray
一个形状为
size
的浮点数组,如果未指定size
,则为单个样本.
参见
normal
具有附加
loc
和scale
参数的等效函数,用于设置均值和标准差.
备注
对于从均值为
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的正态分布的样本的2x4数组:
>>> 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