numpy.random.randn#

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

從「標準常態」分佈中傳回樣本(或多個樣本)。

注意

這是為了方便從 Matlab 移植程式碼的使用者而設的函數,並封裝了 standard_normal。該函數接受一個元組來指定輸出的大小,這與其他 NumPy 函數(如 numpy.zerosnumpy.ones)一致。

注意

新程式碼應使用 standard_normal 方法,此方法屬於 Generator 實例;請參閱快速入門

如果提供了正整數類型的引數,randn 會產生形狀為 (d0, d1, ..., dn) 的陣列,並以從平均值為 0 和變異數為 1 的單變數「常態」(高斯)分佈中取樣的隨機浮點數填充。如果未提供引數,則傳回從該分佈中隨機取樣的單個浮點數。

參數:
d0, d1, …, dnint,可選

傳回陣列的維度,必須為非負數。如果未給定引數,則傳回單個 Python 浮點數。

傳回值:
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 的常態分佈的 2x4 樣本陣列

>>> 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