np.random.rand()函式 與 np.random.randn()函式
阿新 • • 發佈:2018-11-28
一、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]])