numpy的random創(chuàng)建隨機數(shù)數(shù)組

隨機數(shù)random()生成數(shù)組

隨機數(shù)
#size=5指定生成5個隨機數(shù),并組成一個ndarray數(shù)組
a=np.random.random(size=5)
print(a)
print(type(a))
結(jié)果:
[0.32841335 0.08853397 0.7719518  0.11669795 0.59754706]
<class 'numpy.ndarray'>



#如果不加參數(shù)size,生成的是一個返回[0.0, 1.0)范圍的隨機數(shù)
a=np.random.random()
print(a)
print(type(a))
結(jié)果:
0.6408131344970486
<class 'float'>


#size=(2,3)創(chuàng)建二維數(shù)組
a=np.random.random(size=(2,3))
print(a)
print(type(a))
結(jié)果:{size=(2,3)指創(chuàng)建2行3列的二維數(shù)組}
[[0.91208731 0.96776949 0.51610337]
 [0.26176896 0.31994015 0.14627309]]
<class 'numpy.ndarray'>


#size=(2,3,3)創(chuàng)建三維數(shù)組
a=np.random.random(size=(2,3,3))
print(a)
print(type(a))
結(jié)果:{size=(2,3,3)指創(chuàng)建2個3行,3列的三維數(shù)組}
[[[0.72229578 0.66648356 0.40343016]
  [0.0765574  0.30903895 0.19439705]
  [0.39041189 0.13883567 0.05646996]]

 [[0.07147462 0.15570994 0.08275303]
  [0.50599719 0.05621077 0.95416318]
  [0.9497459  0.06390999 0.13081354]]]
<class 'numpy.ndarray'>


x=np.random.rand(10)
print(x)
#結(jié)果:生成10個[0,1)的隨機數(shù)

np.random.rand()和np.random.random()的區(qū)別:
相同點:兩個函數(shù)都是在 [0, 1) 的均勻分布中產(chǎn)生隨機數(shù)。
不同點:參數(shù)傳遞不同。random.random( )接收一個單獨的元組,而random.rand( )接收分開的參數(shù)

例如:
要生成3行5列的數(shù)組,你可以
np.random.rand(3, 5)
或者
np.random.random((3, 5))

兩個函數(shù)功能完全一樣,numpy為什么這么做,這是有歷史原因的??赡苁菫榱耸?Matlab 用戶更容易學(xué)習(xí) python+numpy 的組合。把其中一個函數(shù)去掉,所帶來的麻煩遠大于好處,因為有很多現(xiàn)存的代碼使用了函數(shù)的不同版本。

隨機整數(shù)randint()生成數(shù)組

numpy.random.randint(low、high、size)
默認high是None,
如果只有l(wèi)ow,那范圍就是[0,low),
如果有high,范圍就是[low,high)。
size表示生成的維度


#生成[0,5)之間的隨機整數(shù),size=10表示一維數(shù)組,元素個數(shù)10個
a=np.random.randint(5,size=10)
print(a)
print(type(a))
結(jié)果:
[1 2 3 3 2 1 3 0 0 2]
<class 'numpy.ndarray'>


#生成[5,10)之間的隨機整數(shù),size=10表示一維數(shù)組,元素個數(shù)10個
a=np.random.randint(5,10,size=10)
print(a)
print(type(a))
結(jié)果:
[5 8 7 5 5 8 8 7 6 5]
<class 'numpy.ndarray'>



#生成[5,10)之間的隨機整數(shù),size=(2,3)表示二維數(shù)組2行3列
a=np.random.randint(5,10,size=(2,3))
print(a)
print(type(a))
結(jié)果:
[[9 8 7]
 [6 6 9]]
<class 'numpy.ndarray'>



#生成[5,10)之間的隨機整數(shù),size=(2,4,3)表示三維數(shù)組2個4行3列
a=np.random.randint(5,10,size=(2,4,3))
print(a)
print(type(a))
結(jié)果:
[[[9 7 7]
  [7 9 5]
  [5 9 8]
  [7 5 5]]

 [[8 5 6]
  [9 7 6]
  [8 5 9]
  [5 7 6]]]
<class 'numpy.ndarray'>

隨機方差分布數(shù)組randn()

numpy.random.randn(d0,d1,…,dn)
randn函數(shù)返回一個或一組樣本,具有標準正態(tài)分布(期望為 0,方差為 1)。
dn表格每個維度 返回值為指定維度的array

#創(chuàng)建一維數(shù)組(值為正太分布)
a=np.random.randn(4)
print(a)
結(jié)果:{創(chuàng)建一維數(shù)組值為正太分布,且4個值}
[ 0.50791716  0.20654164  0.91392296 -0.37149023]

#創(chuàng)建二維數(shù)組(值為正太分布),2行3列的正太分布值
a=np.random.randn(2,3) 
print(a)
結(jié)果:
[[ 0.50226148 -1.04057313 -1.05297484]
 [-0.6812766   1.31848462  0.41707931]]
 

#創(chuàng)建三維數(shù)組(值為正太分布),2個3行4列的正太分布值
a=np.random.randn(2,3,4) 
print(a)
結(jié)果:
[[[-2.07525002 -1.32988885 -0.76469953 -0.36114198]
  [-0.07949898 -1.77600837  1.14122804 -0.05158659]
  [ 1.02895248  1.33876595 -0.47272402 -0.15221185]]

 [[-0.23338729  0.08311554 -1.09068697 -0.7200072 ]
  [ 1.39105961  0.7763497  -0.33694818  0.80777491]
  [-0.7675833   0.36297381 -1.18767124  0.70628512]]]

隨機方差分布數(shù)組且指定方差normal()

np.random.normal(loc=,scale=,size=)指定期望和方差的正太分布
loc:  期望 
scale:方差 
size:  形狀

#默認的normal()函數(shù)創(chuàng)建的是:loc=0.0,scale=1.0的整改分布
a=np.random.normal(size=4)
print(a)
結(jié)果:
[ 0.48020042 -1.47781036  1.514757    0.02959261]


#normal()指定loc,scale創(chuàng)建正太分布,一維數(shù)組
a=np.random.normal(loc=2,scale=4,size=4)
print(a)
結(jié)果:
[-0.62843317 -2.46408167  0.46803852  7.15364569]

#normal()指定loc,scale創(chuàng)建正太分布,二維數(shù)組2行3列
a=np.random.normal(loc=2,scale=4,size=(2,3))
print(a)
結(jié)果:
[[-4.65621806  2.9411795   2.97672568]
 [ 6.28013303  7.97898493 -5.14406465]]

#normal()指定loc,scale創(chuàng)建正太分布,三維數(shù)組2個3行4列
a=np.random.normal(loc=2,scale=4,size=(2,3,4))
print(a)
結(jié)果:
[[[ 6.0520187   7.41956974  6.49261014 -1.21725059]
  [ 9.36195212 -1.74690398  1.19951566 -0.71623426]
  [-1.12240751  4.61490294  1.98981814 -0.21171062]]

 [[ 2.30209515  2.54750312  7.56650075 -3.49782812]
  [ 0.72864675 -3.58500149  3.49167301  3.02638296]
  [-1.49637658 -0.2453314   3.16000657 -0.11082087]]]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容