日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

numpy 随机数

發(fā)布時間:2023/11/28 生活经验 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 numpy 随机数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

總體來說,numpy.random模塊分為四個部分,對應(yīng)四種功能:

  1. 簡單隨機數(shù): 產(chǎn)生簡單的隨機數(shù)據(jù),可以是任何維度

  2. 排列:將所給對象隨機排列

  3. 分布:產(chǎn)生指定分布的數(shù)據(jù),如高斯分布等

  4. 生成器:種隨機數(shù)種子,根據(jù)同一種子產(chǎn)生的隨機數(shù)是相同的
    以下是詳細內(nèi)容以及代碼實例:(以下代碼默認(rèn)已導(dǎo)入numpy:import numpy as np )

  5. 生成器
    電腦產(chǎn)生隨機數(shù)需要明白以下幾點:
    (1)隨機數(shù)是由隨機種子根據(jù)一定的計算方法計算出來的數(shù)值。所以,只要計算方法一定,隨機種子一定,那么產(chǎn)生的隨機數(shù)就不會變。
    (2)只要用戶不設(shè)置隨機種子,那么在默認(rèn)情況下隨機種子來自系統(tǒng)時鐘(即定時/計數(shù)器的值)
    (3)隨機數(shù)產(chǎn)生的算法與系統(tǒng)有關(guān),Windows和Linux是不同的,也就是說,即便是隨機種子一樣,不同系統(tǒng)產(chǎn)生的隨機數(shù)也不一樣。
    numpy.random 設(shè)置種子的方法有:


np.random.seed(1234) #設(shè)置隨機種子為1234
6. 簡單隨機數(shù)

代碼示例

(1) np.random.rand(2,3) #產(chǎn)生2行三列均勻分布隨機數(shù)組
Out[7]: 
array([[ 0.35369993,  0.0086019 ,  0.52609906],[ 0.31978928,  0.27069309,  0.21930115]])2)In [8]: np.random.randn(3,3) #三行三列正態(tài)分布隨機數(shù)據(jù)
Out[8]: 
array([[ 2.29864491,  0.52591291, -0.80812825],[ 0.37035029, -0.07191693, -0.76625886],[-1.264493  ,  1.12006474, -0.45698648]])3)In [9]: np.random.randint(1,100,[5,5]) #(1,100)以內(nèi)的55列隨機整數(shù)
Out[9]: 
array([[87, 69,  3, 86, 85],[13, 49, 59,  7, 31],[19, 96, 70, 10, 71],[91, 10, 52, 38, 49],[ 8, 21, 55, 96, 34]])4)In [10]: np.random.random(10) #(0,1)以內(nèi)10個隨機浮點數(shù)
Out[10]: 
array([ 0.33846136,  0.06517708,  0.41138166,  0.34638839,  0.41977818,0.37188863,  0.2508949 ,  0.89923638,  0.51341298,  0.71233872])5)In [11]: np.random.choice(10) #[0,10)內(nèi)隨機選擇一個數(shù)
Out[11]: 7
  1. 分布
    numpy.random模塊提供了產(chǎn)生各種分布隨機數(shù)的API:


    代碼示例
(1)正態(tài)分布
import numpy as np
import matplotlib.pyplot as pltmu = 1  #期望為1
sigma = 3  #標(biāo)準(zhǔn)差為3
num = 10000  #個數(shù)為10000rand_data = np.random.normal(mu, sigma, num)
count, bins, ignored = plt.hist(rand_data, 30, normed=True)
plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *np.exp( - (bins - mu)**2 / (2 * sigma**2)), linewidth=2, color='r')
plt.show()


4. 排列

代碼

(1)正態(tài)分布
import numpy as np
rand_data = np.random.randint(1, 10, (3, 4))
print(rand_data)
np.random.shuffle(rand_data)
print(rand_data)out:
[[4 4 4 8][5 6 8 2][1 7 6 6]]
[[4 4 4 8][1 7 6 6][5 6 8 2]](按照行打亂了,也就是交換了行)

總結(jié)

以上是生活随笔為你收集整理的numpy 随机数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。