numpy 產(chǎn)生隨機(jī)數(shù)的幾種方法
在矩陣應(yīng)用的過程中,經(jīng)常需要使用隨機(jī)數(shù),那么怎么使用numpy 產(chǎn)生隨機(jī)數(shù)呢 ,為此專門做一個(gè)總結(jié)。
random模塊用于生成隨機(jī)數(shù),下面是一些常用的函數(shù)用法:
numpy.random.seed(n) 其中n為任意指定
當(dāng)我們?cè)O(shè)置相同的seed,每次生成的隨機(jī)數(shù)相同。如果不設(shè)置seed,則每次會(huì)生成不同的隨機(jī)數(shù)
numpy.random.seed(0)
np.random.seed(0) a = np.random.rand(4) a
array([0.5488135 , 0.71518937, 0.60276338, 0.54488318])
主要介紹了生成符合均勻分布,正態(tài)分布等數(shù)組和隨機(jī)選取數(shù)以及打亂數(shù)組順序的方法。
1.np.random.rand 生成一個(gè)0到1之間的均勻分布
import numpy as np a = np.random.rand(2,3,4) print(a,a.shape)
[[[0.18000344 0.03724064 0.15040061 0.93007827]
[0.59423019 0.35439936 0.49193457 0.37633185]
[0.83924196 0.4908405 0.49387427 0.98718216]][[0.20072849 0.90163245 0.36710883 0.56668257]
[0.61402791 0.46602958 0.56086072 0.83099671]
[0.85196098 0.62774727 0.62826083 0.41739078]]] (2, 3, 4)
2.np.random.randn 返回一個(gè)符合標(biāo)準(zhǔn)正態(tài)分布的數(shù)組。
a = np.random.randn(2,3,4) print(a,a.shape)
[[[ 0.32062268 0.08867553 -0.83741647 -0.21917891]
[-0.06516898 -1.17123767 2.2403833 -0.77741757]
[ 0.33532261 0.27309929 1.07279005 0.79952468]][[ 0.18503166 0.90777579 -1.52837098 -1.23783753]
[ 0.9327577 1.61876194 0.52191996 0.53451075]
[-1.05485337 1.01472352 0.19376936 0.00278223]]] (2, 3, 4)
3.np.random.randint返回一定范圍的一維或者多維整數(shù)
numpy.random.randint(low, high=None, size=None, dtype=’l’)
返回隨機(jī)整數(shù),范圍區(qū)間為[low,high),包含low,不包含high
size為數(shù)組維度,元組形式,如(2,3)#2行3列
high沒有填寫時(shí),默認(rèn)生成隨機(jī)數(shù)的范圍是[0,low)
dtype指定數(shù)據(jù)類型,默認(rèn)int
a = np.random.randint(low=6,high=10,size=(2,3,4),dtype='int') print(a,a.shape)
[[[8 8 7 8]
[8 8 6 9]
[9 6 7 7]][[7 7 9 8]
[9 6 6 7]
[8 9 7 7]]] (2, 3, 4)
4.np.random.choice從給定的一維數(shù)組中隨機(jī)選擇數(shù)生成隨機(jī)數(shù)
numpy.random.choice(a, size=None, replace=True, p=None)
a為一維數(shù)組類似數(shù)據(jù)或整數(shù);size為數(shù)組維度;p為數(shù)組中的數(shù)據(jù)出現(xiàn)的概率
a為整數(shù)時(shí),對(duì)應(yīng)的一維數(shù)組為np.arange(a)
a = np.random.choice(a = [3,5,6],size=(2,3,4),replace=True,p=[0.1,0.5,0.4]) print(a,a.shape)
[[[5 6 3 5]
[6 5 5 5]
[6 5 6 6]][[5 5 5 3]
[6 5 6 6]
[5 6 5 6]]] (2, 3, 4)
5.np.random.normal(loc=0.0, scale=1.0, size=None),生成符合指定分布的正態(tài)分布。
a = np.random.normal(loc=4,scale=6,size=(2,3,4)) print(a)
[[[13.19667529 12.81615262 4.92968455 6.26897512]
[-1.32671449 -7.88477881 1.9125271 4.93809381]
[11.38174408 11.21427909 1.6760391 2.1861835 ]][[-2.29131779 -4.52010762 -6.23762114 15.70465237]
[ 0.94208691 1.37155419 -3.51677216 8.66494213]
[-5.68338709 2.72355832 -1.37279937 6.32141499]]]
6.np.random.random(size=None),生成符合0到1的均勻分布數(shù)組。
a = np.random.random((2,3,4)) print(a)
[[[0.19658236 0.36872517 0.82099323 0.09710128]
[0.83794491 0.09609841 0.97645947 0.4686512 ]
[0.97676109 0.60484552 0.73926358 0.03918779]][[0.28280696 0.12019656 0.2961402 0.11872772]
[0.31798318 0.41426299 0.0641475 0.69247212]
[0.56660145 0.26538949 0.52324805 0.09394051]]]
7. np.random.ranf(size=None),生成符合0到1的均勻分布數(shù)組。
a = np.random.ranf((10)) a
array([0.82894003, 0.00469548, 0.67781654, 0.27000797, 0.73519402, 0.96218855, 0.24875314, 0.57615733, 0.59204193, 0.57225191])
8.np.random.uniform(low=0.0, high=1.0, size=None),生成符合指定均勻分布的數(shù)組
g=np.random.uniform(-1,1,10)#指定均勻分布 print(g)
[ 0.07315842 0.79334259 0.98067789 -0.56620603 0.32615641 -0.47335525
-0.958698 0.51675731 -0.3599657 -0.23307221]
9.np.random.shuffle(x),隨機(jī)打亂數(shù)組順序
a = np.arange(10) np.random.shuffle(a) print(a)
[6 3 4 9 0 8 1 5 2 7]
10. 產(chǎn)生其他分布的函數(shù)
- binomial() ,二項(xiàng)分布
- chisquare(),卡方分布
- poisson(),泊松分布
- uiform(),均勻分布
- normal(),正態(tài)分布
到此這篇關(guān)于numpy 產(chǎn)生隨機(jī)數(shù)的幾種方法的文章就介紹到這了,更多相關(guān)numpy 產(chǎn)生隨機(jī)數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python全局變量關(guān)鍵字global的簡(jiǎn)單使用
python中g(shù)lobal關(guān)鍵字主要作用是聲明變量的作用域,下面這篇文章主要給大家介紹了關(guān)于Python全局變量關(guān)鍵字global的簡(jiǎn)單使用,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06使用Python的PIL模塊來進(jìn)行圖片對(duì)比
這篇文章主要介紹了使用Python的PIL模塊來進(jìn)行圖片對(duì)比的方法,搜索引擎最基本的圖片搜索也是利用圖片顏色值的對(duì)比來實(shí)現(xiàn)的,需要的朋友可以參考下2016-02-02Python實(shí)現(xiàn)備份文件實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)備份文件的方法,可實(shí)現(xiàn)針對(duì)各類常見擴(kuò)展名的文件進(jìn)行備份的功能,需要的朋友可以參考下2014-09-09python學(xué)習(xí)-List移除某個(gè)值remove和統(tǒng)計(jì)值次數(shù)count
這篇文章主要介紹了?python學(xué)習(xí)-List移除某個(gè)值remove和統(tǒng)計(jì)值次數(shù)count,文章基于python的相關(guān)內(nèi)容展開詳細(xì)介紹,需要的小伙伴可以參考一下2022-04-04Python獲取好友地區(qū)分布及好友性別分布情況代碼詳解
利用Python + wxpy 可以快速的查詢自己好友的地區(qū)分布情況,以及好友的性別分布數(shù)量。還可以批量下載好友的頭像,拼接成大圖。感興趣的朋友跟隨小編一起看看吧2019-07-07使用Cython中prange函數(shù)實(shí)現(xiàn)for循環(huán)的并行
Cython中提供了一個(gè)prange函數(shù),專門用于循環(huán)的并行執(zhí)行。這個(gè) prange的特殊功能是Cython獨(dú)一無二的,并且prange只能與for循環(huán)搭配使用,不能獨(dú)立存在。本文就將使用 prange 實(shí)現(xiàn) for 循環(huán)的并行,感興趣的可以了解一下2022-08-08