欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

numpy中生成隨機(jī)數(shù)的幾種常用函數(shù)(小結(jié))

 更新時(shí)間:2020年08月18日 14:57:40   作者:Huang supreme  
這篇文章主要介紹了numpy中生成隨機(jī)數(shù)的幾種常用函數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1、使用numpy生成隨機(jī)數(shù)的幾種方式

1)生成指定形狀的0-1之間的隨機(jī)數(shù):np.random.random()和np.random.rand()

array1 = np.random.random((3))
display(array1)
# -----------------------------------
array2 = np.random.random((3,4))
display(array2)
# -----------------------------------
array3 = np.random.rand(3)
display(array3)
# -----------------------------------
array4 = np.random.rand(2,3)
display(array4)

① 操作如下



② 區(qū)別如下

2)生成指定數(shù)值范圍內(nèi)的隨機(jī)整數(shù):np.random.randint()


① 操作如下

array9 = np.random.randint(low=1, high=10, size=6, dtype=np.int32)
display(array9)
# ---------------------------------------------------------
array10 = np.random.randint(low=1, high=10, size=(2,3), dtype=np.int64)
display(array10)
# ---------------------------------------------------------
array11 = np.random.randint(low=1, high=10, size=(2,3,4), dtype=np.int32)
display(array11)

② 結(jié)果如下

3)與正態(tài)分布有關(guān)的幾個(gè)隨機(jī)函數(shù):np.random.randn()和np.random.normal()

  • np.random.randn 生成服從均值為0,標(biāo)準(zhǔn)差為1的標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù);
  • np.random.normal 生成指定均值和標(biāo)準(zhǔn)差的正態(tài)分布隨機(jī)數(shù);
array5 = np.random.randn(3)
display(array5)
# ---------------------------------------------
array6 = np.random.randn(2,3)
display(array6)
# ---------------------------------------------
array7 = np.random.normal(loc=2,scale=0.5,size=6)
display(array7)
# ---------------------------------------------
array8 = np.random.normal(loc=2,scale=0.5,size=6).reshape(2,3)
display(array8)

① 結(jié)果如下


② 區(qū)別如下

4)均勻分布隨機(jī)函數(shù):np.random.uniform()

用法:生成指定范圍內(nèi)的服從均勻分布的隨機(jī)數(shù);

array11 = np.random.uniform(1,10,5)
display(array11)
# ---------------------------------
array12 = np.random.uniform(1,10,(2,3))
display(array12)

① 結(jié)果如下

5)np.random.seed():按照種子來(lái)生成隨機(jī)數(shù),種子一樣,則生成的隨機(jī)數(shù)結(jié)果必一致


① 操作如下

np.random.seed(3)
a = np.random.rand(3)
display(a)
np.random.seed(3)
b = np.random.rand(3)
display(b)
# --------------------------
np.random.seed()
a = np.random.rand(3)
display(a)
np.random.seed()
b = np.random.rand(3)
display(b)

② 結(jié)果如下

6)np.random.shuffle():打亂數(shù)組元素順序(原地操作數(shù)組)

c = np.arange(10)
display(c)
np.random.shuffle(c)
display(c)

① 結(jié)果如下

7)np.random.choice():按照指定概率從指定數(shù)組中,生成隨機(jī)數(shù);

① np.random.choice()函數(shù)的用法說(shuō)明

d = np.random.choice([1,2,3,4], p=[0.1, 0.2, 0.3, 0.4])
display(d)

說(shuō)明:上述函數(shù)第一個(gè)參數(shù)表示的是數(shù)組,第二個(gè)參數(shù)表示的是概率值。上述函數(shù)的含義是當(dāng)進(jìn)行n多次重復(fù)實(shí)驗(yàn)的時(shí)候,抽取1的概率為0.1,抽取2的概率為0.2,抽取3的概率為0.3,抽取4的概率為0.4。

② 結(jié)果如下


③ 隨即進(jìn)行10000次重復(fù)實(shí)驗(yàn),檢測(cè)每一個(gè)數(shù),被抽取到的概率

list1 = [0,0,0,0]
for i in range(100000):
  f = np.random.choice([1,2,3,4], p=[0.1, 0.2, 0.3, 0.4])
  list1[f-1] = list1[f-1] + 1
display(list1)

result_list = [value/sum(list1) for value in list1]
display(result_list)

④ 結(jié)果如下


⑤ 模擬進(jìn)行100000次擲硬幣重復(fù)實(shí)驗(yàn),檢測(cè)每一面,被抽取到的概率

list1 = [0,0]
for i in range(100000):
  f = np.random.choice([0,1], p=[0.5,0.5])
  list1[f] = list1[f] + 1
display(list1)

result_list = [value/sum(list1) for value in list1]
display(result_list)

⑥ 結(jié)果如下

到此這篇關(guān)于numpy中生成隨機(jī)數(shù)的幾種常用函數(shù)(小結(jié))的文章就介紹到這了,更多相關(guān)numpy 生成隨機(jī)數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論