1. 程式人生 > >np.random.rand()函式 與 np.random.randn()函式

np.random.rand()函式 與 np.random.randn()函式

一、np.random.rand()

本函式可以返回一個或一組服從“0~1”均勻分佈的隨機樣本值。隨機樣本取值範圍是[0,1),不包括1。


>>> import numpy as np
>>> np.random.rand()
0.21844306516262169
>>> np.random.rand()
0.581733668489196
>>> np.random.rand(1)
array([0.27682255])
>>> np.random.rand(2)
array([0.91929261
, 0.62243955]) >>> np.random.rand(3,3) array([[0.70079039, 0.5426133 , 0.32864316], [0.72103743, 0.38601045, 0.80652223], [0.8255262 , 0.22803161, 0.35711508]]) >>> np.random.rand(5,2) array([[0.95670007, 0.4022244 ], [0.02888907, 0.59453161], [0.42287532, 0.838892 ], [0.18502136
, 0.39710898], [0.5117293 , 0.23356644]])

二、np.random.randn()

通過本函式可以返回一個或一組服從標準正態分佈的隨機樣本值。

np.random.randn(d0,d1,d2……dn)
1)當函式括號內沒有引數時,則返回一個浮點數;
2)當函式括號內有一個引數時,則返回秩為1的陣列,不能表示向量和矩陣;
3)當函式括號內有兩個及以上引數時,則返回對應維度的陣列,能表示向量或矩陣;
4)np.random.standard_normal()函式與np.random.randn()類似,但是np.random.standard_normal()的輸入引數為元組(tuple).
5)np.random.randn()的輸入通常為整數,但是如果為浮點數,則會自動直接截斷轉換為整數。

>>> import numpy as np
>>> np.random.randn()
0.4060541212741765
>>> np.random.randn(1)
array([0.07446858])
>>> np.random.randn(2)
array([-0.34854839,  0.11893842])
>>> np.random.randn(3,3)
array([[ 0.09281391,  0.03950453,  0.63848993],
       [ 0.27477607, -0.01711054, -0.10943846],
       [-0.06240896, -1.15598522,  0.31459654]])
>>> np.random.randn(5,2)
array([[ 1.20655665,  0.44852116],
       [ 0.61058691, -0.68454257],
       [-0.68564962, -2.18866899],
       [ 0.79653615,  0.13673083],
       [ 0.26837859, -0.92201366]])