numpy.random.Generator.standard_normal#

方法

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

從標準常態分佈(平均值=0,標準差=1)中抽取樣本。

參數:
sizeint 或 ints 元組,選填

輸出形狀。如果給定的形狀是,例如 (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)

來自常態分佈的 2x4 樣本陣列,平均值為 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