Numpy之random函數(shù)使用學(xué)習(xí)
random模塊用于生成隨機(jī)數(shù),下面看看模塊中一些常用函數(shù)的用法:
numpy.random.rand(d0, d1, ..., dn):生成一個[0,1)之間的隨機(jī)浮點(diǎn)數(shù)或N維浮點(diǎn)數(shù)組。 #numpy.random.rand(d0, d1, ..., dn) import numpy as np #無參 np.random.rand()#生成生成[0,1)之間隨機(jī)浮點(diǎn)數(shù) type(np.random.rand())#float #d0,d1....表示傳入的數(shù)組形狀 #一個參數(shù) np.random.rand(1)#array([ 0.44280931]) type(np.random.rand(1))#numpy.ndarray np.random.rand(5)#生成一個形狀為5的一維數(shù)組 #兩個參數(shù) np.random.rand(2,3)#生成2x3的二維數(shù)組 #np.random.rand((2,3))#報(bào)錯,參數(shù)必須是整數(shù),不能是元組
numpy.random.randn(d0, d1, ..., dn):生成一個浮點(diǎn)數(shù)或N維浮點(diǎn)數(shù)組,取數(shù)范圍:正態(tài)分布的隨機(jī)樣本數(shù)。
#numpy.random.randn(d0, d1, ..., dn) import numpy as np #無參 np.random.randn()#1.4872544578730051,不一定是[0,1)之間的隨機(jī)數(shù) #一個參數(shù) np.random.randn(1) np.random.randn(5)#生成形狀為5的一維數(shù)組 #兩個參數(shù) np.random.randn(2,3)#生成2x3數(shù)組 #np.random.randn((2,3))#報(bào)錯,參數(shù)必須是整數(shù)
numpy.random.standard_normal(size=None):生產(chǎn)一個浮點(diǎn)數(shù)或N維浮點(diǎn)數(shù)組,取數(shù)范圍:標(biāo)準(zhǔn)正態(tài)分布隨機(jī)樣本
import numpy as np #numpy.random.standard_normal(size=None) #size為整數(shù) np.random.standard_normal(2)#array([-2.04606393, -1.05720303]) #size為整數(shù)序列 np.random.standard_normal((2,3)) np.random.standard_normal([2,3]).shape#(2, 3)
numpy.random.randint(low, high=None, size=None, dtype='l'):生成一個整數(shù)或N維整數(shù)數(shù)組,取數(shù)范圍:若high不為None時,取[low,high)之間隨機(jī)整數(shù),否則取值[0,low)之間隨機(jī)整數(shù)。
#numpy.random.randint(low, high=None, size=None, dtype='l') import numpy as np #low=2 np.random.randint(2)#生成一個[0,2)之間隨機(jī)整數(shù) #low=2,size=5 np.random.randint(2,size=5)#array([0, 1, 1, 0, 1]) #low=2,high=2 #np.random.randint(2,2)#報(bào)錯,high必須大于low #low=2,high=6 np.random.randint(2,6)#生成一個[2,6)之間隨機(jī)整數(shù) #low=2,high=6,size=5 np.random.randint(2,6,size=5)#生成形狀為5的一維整數(shù)數(shù)組 #size為整數(shù)元組 np.random.randint(2,size=(2,3))#生成一個2x3整數(shù)數(shù)組,取數(shù)范圍:[0,2)隨機(jī)整數(shù) np.random.randint(2,6,(2,3))#生成一個2x3整數(shù)數(shù)組,取值范圍:[2,6)隨機(jī)整數(shù) #dtype參數(shù):只能是int類型 np.random.randint(2,dtype='int32') np.random.randint(2,dtype=np.int32)
numpy.random.random_integers(low, high=None, size=None):生成一個整數(shù)或一個N維整數(shù)數(shù)組,取值范圍:若high不為None,則取[low,high]之間隨機(jī)整數(shù),否則取[1,low]之間隨機(jī)整數(shù)。
#numpy.random.random_integers(low, high=None, size=None) import numpy as np #low=2 np.random.random_integers(2)#生成一個[1,2]之間隨機(jī)整數(shù) #low=2、size=5 np.random.random_integers(2,size=5)#array([2, 1, 1, 1, 1]) #low=2、high=6 np.random.random_integers(2,6)#生成一個[2,6]之間隨機(jī)整數(shù) #low=2、high=6、size=5 np.random.random_integers(2,6,size=5)#生成一個形狀為5的一維整數(shù)數(shù)組組
#size為整數(shù)元組
np.random.random_integers(2,size=(2,3))#生成一個2x3數(shù)組,取數(shù)范圍:[1,2]隨機(jī)整數(shù)
np.random.random_integers(2,6,(2,3))#生成一個2x3數(shù)組,取數(shù)范圍:[2,6]隨機(jī)整數(shù)
numpy.random.random_sample(size=None):生成一個[0,1)之間隨機(jī)浮點(diǎn)數(shù)或N維浮點(diǎn)數(shù)組。
#numpy.random.random_sample(size=None) import numpy as np #size=None np.random.random_sample()#生成一個[0,1)之間隨機(jī)浮點(diǎn)數(shù) #size=2 np.random.random_sample(2)#生成shape=2的一維數(shù)組 #size為整數(shù)元組 np.random.random_sample((2,))#等同np.random.random_sample(2) #np.random.random_sample((,2))#報(bào)錯 np.random.random_sample((2,3))#生成2x3數(shù)組 np.random.random_sample((3,2,2))#3x2x2數(shù)組
numpy.random.choice(a, size=None, replace=True, p=None):從序列中獲取元素,若a為整數(shù),元素取值為np.range(a)中隨機(jī)數(shù);若a為數(shù)組,取值為a數(shù)組元素中隨機(jī)元素。
#numpy.random.choice(a, size=None, replace=True, p=None) import numpy as np #a為整數(shù),size為None np.random.choice(2)#生成一個range(2)中的隨機(jī)數(shù) #a為整數(shù),size為整數(shù) np.random.choice(2,2)#生成一個shape=2一維數(shù)組 #a為整數(shù),size為整數(shù)元組 np.random.choice(5,(2,3))#生成一個2x3數(shù)組 #a為數(shù)組,size為None np.random.choice(np.array(['a','b','c','f']))#生成一個np.array(['a','b','c','f']中隨機(jī)元素 #a為數(shù)組,size為整數(shù) np.random.choice(5,(2,3))#生成2x3數(shù)組 #a為數(shù)組,size為整數(shù)元組 np.random.choice(np.array(['a','b','c','f']),(2,3))#生成2x3數(shù)組 #p參數(shù):可以理解成a中元素出現(xiàn)的概率,p的長度和a的長度必須相同,且p中元素之和為1,否則報(bào)錯 #np.random.choice(2,p=[1])#報(bào)錯,a和p長度不一致 np.random.choice(5,p=[0,0,0,0,1])#生成的始終是4 np.random.choice(5,3,p=[0,0.5,0.5,0,0])#生成shape=3的一維數(shù)組,元素取值為1或2的隨機(jī)數(shù)
numpy.random.shuffle(x):對X進(jìn)行重排序,如果X為多維數(shù)組,只沿第一條軸洗牌,輸出為None。
#numpy.random.shuffle(x) import numpy as np list1 = [1,2,3,4,5] np.random.shuffle(list1)#輸出None list1#[1, 2, 5, 3, 4],原序列的順序也被修改 arr = np.arange(9).reshape(3,3) np.random.shuffle(arr)#對于多維數(shù)組,只沿著第一條軸打亂順序
numpy.random.permutation(x):與numpy.random.shuffle(x)函數(shù)功能相同,兩者區(qū)別:peumutation(x)不會修改X的順序。
#numpy.random.permutation(x) import numpy as np #x=5 np.random.permutation(5)#生成一個range(5)隨機(jī)順序的數(shù)組 #x為列表或元組 list1 = [1,2,3,4] np.random.permutation(list1)#array([2, 1, 4, 3]) #list1#[1, 2, 3, 4] #x為數(shù)組 arr = np.arange(9) np.random.permutation(arr) arr2 = np.arange(9).reshape(3,3) np.random.permutation(arr2)#對于多維數(shù)組,只會沿著第一條軸打亂順序
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python?numpy中np.random.seed()的詳細(xì)用法實(shí)例
- Numpy中np.random.rand()和np.random.randn() 用法和區(qū)別詳解
- python numpy之np.random的隨機(jī)數(shù)函數(shù)使用介紹
- numpy.random.shuffle打亂順序函數(shù)的實(shí)現(xiàn)
- numpy.random模塊用法總結(jié)
- 基于numpy.random.randn()與rand()的區(qū)別詳解
- numpy.random.seed()的使用實(shí)例解析
- 詳述numpy中的np.random.random()系列函數(shù)用法
相關(guān)文章
python每次處理固定個數(shù)的字符的方法總結(jié)
使用python每次處理固定個數(shù)的字符,很多情況下都會遇到。本文對可能的方法做下總結(jié),供各位朋友學(xué)習(xí)參考2013-01-01Python實(shí)現(xiàn)視頻目標(biāo)檢測與軌跡跟蹤流程詳解
通過閱讀相關(guān)文獻(xiàn)及測試,找到了一種基于多模板匹配的改進(jìn)方法,可以對遙感視頻衛(wèi)星中的移動目標(biāo)進(jìn)行探測,并繪制其軌跡。根據(jù)實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),可以比較有效的對運(yùn)動目標(biāo)進(jìn)行跟蹤2023-01-01Python開發(fā)企業(yè)微信機(jī)器人每天定時發(fā)消息實(shí)例
這篇文章主要介紹了Python開發(fā)企業(yè)微信機(jī)器人每天定時發(fā)消息實(shí)例,需要的朋友可以參考下2020-03-03Python 實(shí)現(xiàn)異步調(diào)用函數(shù)的示例講解
今天小編就為大家分享一篇Python 實(shí)現(xiàn)異步調(diào)用函數(shù)的示例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python實(shí)現(xiàn)vlog生成器的示例代碼
vlog,全稱為Video?blog,意為影音博客,也有翻譯為微錄。本文將嘗試用Python基于Moviepy從一個文本文件中自動生成一個視頻格式的vlog,感興趣的可以了解一下2023-01-01Python 爬蟲實(shí)現(xiàn)增加播客訪問量的方法實(shí)現(xiàn)
這篇文章主要介紹了Python 爬蟲實(shí)現(xiàn)增加播客訪問量的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10