numpy.random.Generator.random#

方法

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

傳回半開區間 [0.0, 1.0) 中的隨機浮點數。

結果來自於指定區間上的「連續均勻」分佈。若要取樣 \(Unif[a, b), b > a\),請使用 uniform 或將 random 的輸出乘以 (b - a) 並加上 a

(b - a) * random() + a
參數:
sizeint 或 int 元組,選用

輸出形狀。如果給定的形狀為,例如 (m, n, k),則會抽出 m * n * k 個樣本。預設值為 None,在這種情況下會傳回單一值。

dtypedtype,選用

結果的所需 dtype,僅支援 float64float32。位元組順序必須為原生。預設值為 np.float64。

outndarray,選用

要將結果放入其中的替代輸出陣列。如果 size 不是 None,則它必須具有與提供的 size 相同的形狀,並且必須符合輸出值的類型。

傳回值:
outfloat 或 float 的 ndarray

形狀為 size 的隨機浮點數陣列(除非 size=None,在這種情況下會傳回單一 float)。

另請參閱

uniform

從參數化的均勻分佈中抽取樣本。

範例

>>> rng = np.random.default_rng()
>>> rng.random()
0.47108547995356098 # random
>>> type(rng.random())
<class 'float'>
>>> rng.random((5,))
array([ 0.30220482,  0.86820401,  0.1654503 ,  0.11659149,  0.54323428]) # random

來自 [-5, 0) 的三乘二隨機數字陣列

>>> 5 * rng.random((3, 2)) - 5
array([[-3.99149989, -0.52338984], # random
       [-2.99091858, -0.79479508],
       [-1.23204345, -1.75224494]])