您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)python生產(chǎn)隨機(jī)數(shù)字的方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
python生產(chǎn)隨機(jī)數(shù)字的方法是:1、利用random庫(kù)的randint函數(shù)生成隨機(jī)整數(shù)、uniform函數(shù)隨機(jī)生成浮點(diǎn)數(shù)等;2、利用第三方庫(kù)numpy中randn函數(shù)生成符合正態(tài)分布的隨機(jī)矩陣。
在Python中可以用于隨機(jī)數(shù)生成的有兩種主要途徑,一是random模塊,另一個(gè)是numpy庫(kù)中random函數(shù)。
OUTLINE
random模塊
numpy中的random函數(shù)
總結(jié)
random模塊
random模塊中將近有7個(gè)函數(shù)都是可以用來(lái)生成隨機(jī)數(shù)的:
① random.random()
功能:隨機(jī)生成一個(gè) [0,1) 的浮點(diǎn)數(shù)
用法:
import random number = random.random() # 輸出:0.7178886135325596
② random.uniform(a,b)
功能:隨機(jī)生成一個(gè) [a,b) 的浮點(diǎn)數(shù)
用法:
number = random.uniform(2,4) # 輸出:2.070517705689751
③ random.randint(a,b)
功能:隨機(jī)生成一個(gè) [a,b] 的整數(shù)
用法:
number = random.randint(2,4) # 輸出:3
④ random.randrange(a,b,step)
功能:在生成的<以a為始,每step遞增,以b為終>這樣的一個(gè)整數(shù)序列中隨機(jī)選擇一個(gè)數(shù)
用法:
number = random.randrange(2,10,2) # 輸出:2
⑤ random.choice(sequence)
功能:從一個(gè)已有的sequence中隨機(jī)選擇一個(gè)元素
用法:
number = random.choice(range(2,10)) # 輸出:6 number = random.choice('anbegvdje') # 輸出:g
⑥ random.sample(sequence,k)
功能:從某一序列中獲取指定長(zhǎng)度的片段
用法:
a = ['香蕉','蘋(píng)果','橘子','眼影','眼線'] b = random.sample(a,2)# 輸出:['橘子', '蘋(píng)果']
⑦ random.shuffle(列表)
功能:打亂一個(gè)列表的元素順序
用法:
a = ['香蕉','蘋(píng)果','橘子','眼影','眼線'] random.shuffle(a) # 打亂這個(gè)操作不需要重新定義對(duì)象,它作用的是對(duì)象本身 # 輸出:['眼線', '蘋(píng)果', '眼影', '橘子', '香蕉']
numpy中的random函數(shù)
numpy中的random函數(shù)可以調(diào)用的方法主要有兩種,一種是生成隨機(jī)浮點(diǎn)數(shù),二是生成隨機(jī)整數(shù)。
① np.random.randn(a,b)
功能:生成a*b維的隨機(jī)數(shù),且該數(shù)服從標(biāo)準(zhǔn)正太分布
用法:
data = np.random.randn(5,4) # 輸出: array([[-1.6101468 , -0.81103612, 0.44875047, 0.55987574], [-0.33322916, 0.18676658, -0.18424432, -0.84435811], [ 0.57654276, 0.28830858, -0.73403656, 1.59404864], [ 0.39009202, 0.86239796, 0.66290243, -0.61292579], [ 0.03081516, 0.99335315, -0.6875357 , 0.90552971]])
② random.randint(low,high,size)
功能:生成一個(gè)<以low為下限,high為上限,size大小>的隨機(jī)整數(shù)矩陣,其中數(shù)值范圍包含low,不包含high
用法:
data = np.random.randint(low=2,high=5,size=(5,7)) # 輸出: array([[4, 2, 4, 4, 4, 4, 2], [4, 2, 2, 4, 3, 3, 3], [3, 4, 3, 4, 3, 3, 4], [3, 4, 2, 3, 3, 2, 2], [3, 3, 3, 3, 2, 3, 2]])
1、在我們?nèi)粘J褂弥?,如果是為了得到隨機(jī)的單個(gè)數(shù),多考慮random模塊;如果是為了得到隨機(jī)小數(shù)或者整數(shù)的矩陣,就多考慮numpy中的random函數(shù);
2、對(duì)于random模塊的函數(shù)調(diào)用方法的記憶,可以多從它本身的英譯出發(fā),并多比較其不同從而加深理解~
關(guān)于python生產(chǎn)隨機(jī)數(shù)字的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。