numpy之隨機數模組 random模組

2022-07-17 20:33:13 字數 1805 閱讀 2266

一、二項分布

'''

隨機數:模組為random模組---生成服從特定統計規律的隨機數序列

1.二項分布(binomial):就是重複n次的伯努利實驗,每次實驗只有兩種可能的結果,而且兩種結果發生與否相互獨立。

事件發生與否的概率在每次實驗中都是保持不變的

----numpy中實現:np.random.binomial(n,p,size)-->產生size個隨機數,符合二項分布,

每個隨機數來自n次嘗試中成功的次數,其中每次嘗試成功的概率為p

'''import

numpy as np

r = np.random.binomial(10, 0.8, 1)

print

(r)#

求:命中率0.8時,投10球進8球的概率、

#投100000輪看看有多少輪進了10個球

r = np.random.binomial(10, 0.8, 100000)

print(r[r == 8].size /r.size)

print((r == 0).sum()/r.size)

print((r == 1).sum()/r.size)

print((r == 2).sum()/r.size)

print((r == 3).sum()/r.size)

print((r == 4).sum()/r.size)

print((r == 5).sum()/r.size)

print((r == 6).sum()/r.size)

print((r == 7).sum()/r.size)

print((r == 8).sum()/r.size)

print((r == 9).sum()/r.size)

print((r == 10).sum()/r.size)

輸出結果:

[8]0.30189

0.01e-05

7e-05

0.00087

0.00557

0.02729

0.08732

0.20028

0.30189

0.26913

0.10757

二、其他

'''

正態分佈(normal)

----numpy中實現:

標準正態分佈:np.random.normal(size)-->隨機生成一組符合標準正態分佈的隨機數,期望為0,標準差為1

一般正態分佈:np.random.normal(μ,σ,size)-->隨機生成一組服從正態分佈的隨機數,期望為μ,標準差為σ

平均分布(uniform):

----numpy中實現:

np.random.uniform(n1,n2,size)-->產生size個隨機數,服從平均分布[n1,n2]

超幾何分布(hypergeometric):

----numpy中實現:

np.random.hypergeometric(ngood,nbad,nsample,size)-->產生size個隨機數,每個隨機數為在總樣本中隨機抽取

nsample個樣本後好樣本的個數。所有樣本由ngood個好樣本和nbad個壞樣本組成。

'''import

numpy as np

#超幾何分布,7個好的3個壞的,摸3個,重複10次,返回好球的個數組成的陣列

r = np.random.hypergeometric(7, 3, 3, 10)

print

(r)執行結果:

[2 1 3 3 2 2 3 3 2 2]

隨機數模組

模組 random random 方法返回隨機生成的乙個實數 1.整數 random.randrange ss 返回從0 ss區間內的隨機整數 random.randrange start,end,step 返回從start end區間內,並且步長為step的乙個整數 區間不包括end數值 必須st...

python 模組之random隨機數模組

作用是產生隨機數 import random random.random 用於生成乙個0 1的隨機浮點數。print random.random 0.3355102133472131 random.uniform 用於生成乙個指定範圍內的隨機浮點數。print random.uniform 10,1...

Python之random模組(隨機數模組)

產生 0,1 範圍的隨機浮點數 i 0 while i 10 print random.random i 1 0.9848013389436461 0.4012610801121991 0.9401837669813049 0.36164185591353215 0.7291907908539083...