Numpy之random函數(shù)使用學(xué)習(xí)
random模塊用于生成隨機(jī)數(shù),下面看看模塊中一些常用函數(shù)的用法:
numpy.random.rand(d0, d1, ..., dn):生成一個(gè)[0,1)之間的隨機(jī)浮點(diǎn)數(shù)或N維浮點(diǎn)數(shù)組。 #numpy.random.rand(d0, d1, ..., dn) import numpy as np #無(wú)參 np.random.rand()#生成生成[0,1)之間隨機(jī)浮點(diǎn)數(shù) type(np.random.rand())#float #d0,d1....表示傳入的數(shù)組形狀 #一個(gè)參數(shù) np.random.rand(1)#array([ 0.44280931]) type(np.random.rand(1))#numpy.ndarray np.random.rand(5)#生成一個(gè)形狀為5的一維數(shù)組 #兩個(gè)參數(shù) np.random.rand(2,3)#生成2x3的二維數(shù)組 #np.random.rand((2,3))#報(bào)錯(cuò),參數(shù)必須是整數(shù),不能是元組
numpy.random.randn(d0, d1, ..., dn):生成一個(gè)浮點(diǎn)數(shù)或N維浮點(diǎn)數(shù)組,取數(shù)范圍:正態(tài)分布的隨機(jī)樣本數(shù)。
#numpy.random.randn(d0, d1, ..., dn) import numpy as np #無(wú)參 np.random.randn()#1.4872544578730051,不一定是[0,1)之間的隨機(jī)數(shù) #一個(gè)參數(shù) np.random.randn(1) np.random.randn(5)#生成形狀為5的一維數(shù)組 #兩個(gè)參數(shù) np.random.randn(2,3)#生成2x3數(shù)組 #np.random.randn((2,3))#報(bào)錯(cuò),參數(shù)必須是整數(shù)
numpy.random.standard_normal(size=None):生產(chǎn)一個(gè)浮點(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'):生成一個(gè)整數(shù)或N維整數(shù)數(shù)組,取數(shù)范圍:若high不為None時(shí),取[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)#生成一個(gè)[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)錯(cuò),high必須大于low #low=2,high=6 np.random.randint(2,6)#生成一個(gè)[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))#生成一個(gè)2x3整數(shù)數(shù)組,取數(shù)范圍:[0,2)隨機(jī)整數(shù) np.random.randint(2,6,(2,3))#生成一個(gè)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):生成一個(gè)整數(shù)或一個(gè)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)#生成一個(gè)[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)#生成一個(gè)[2,6]之間隨機(jī)整數(shù) #low=2、high=6、size=5 np.random.random_integers(2,6,size=5)#生成一個(gè)形狀為5的一維整數(shù)數(shù)組組
#size為整數(shù)元組
np.random.random_integers(2,size=(2,3))#生成一個(gè)2x3數(shù)組,取數(shù)范圍:[1,2]隨機(jī)整數(shù)
np.random.random_integers(2,6,(2,3))#生成一個(gè)2x3數(shù)組,取數(shù)范圍:[2,6]隨機(jī)整數(shù)
numpy.random.random_sample(size=None):生成一個(gè)[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()#生成一個(gè)[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)錯(cuò) 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)#生成一個(gè)range(2)中的隨機(jī)數(shù) #a為整數(shù),size為整數(shù) np.random.choice(2,2)#生成一個(gè)shape=2一維數(shù)組 #a為整數(shù),size為整數(shù)元組 np.random.choice(5,(2,3))#生成一個(gè)2x3數(shù)組 #a為數(shù)組,size為None np.random.choice(np.array(['a','b','c','f']))#生成一個(gè)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的長(zhǎng)度和a的長(zhǎng)度必須相同,且p中元素之和為1,否則報(bào)錯(cuò) #np.random.choice(2,p=[1])#報(bào)錯(cuò),a和p長(zhǎng)度不一致 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):對(duì)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)#對(duì)于多維數(shù)組,只沿著第一條軸打亂順序
numpy.random.permutation(x):與numpy.random.shuffle(x)函數(shù)功能相同,兩者區(qū)別:peumutation(x)不會(huì)修改X的順序。
#numpy.random.permutation(x) import numpy as np #x=5 np.random.permutation(5)#生成一個(gè)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)#對(duì)于多維數(shù)組,只會(huì)沿著第一條軸打亂順序
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(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)文章
citespace數(shù)據(jù)處理:用python對(duì)Ref文檔進(jìn)行去重方式
這篇文章主要介紹了citespace數(shù)據(jù)處理:用python對(duì)Ref文檔進(jìn)行去重方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
pandas中的Timestamp只保留日期不顯示時(shí)間
這篇文章主要介紹了pandas中的Timestamp只保留日期不顯示時(shí)間,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
Python讀取mat(matlab數(shù)據(jù)文件)并實(shí)現(xiàn)畫(huà)圖
這篇文章主要介紹了Python讀取mat(matlab數(shù)據(jù)文件)并實(shí)現(xiàn)畫(huà)圖問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
Python使用smtplib模塊發(fā)送電子郵件的流程詳解
Python中自帶的smtplib模塊可以進(jìn)行基于SMTP協(xié)議的郵件操作,這里我們便總結(jié)了Python使用smtplib模塊發(fā)送電子郵件的流程詳解,并對(duì)一些常見(jiàn)的問(wèn)題給出了解決方法:2016-06-06
手把手教你實(shí)現(xiàn)PyTorch的MNIST數(shù)據(jù)集
本文主要介紹了PyTorch的MNIST數(shù)據(jù)集,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06
關(guān)于python pyqt5安裝失敗問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于python pyqt5安裝失敗問(wèn)題的解決方法,文中給出了詳細(xì)的解決過(guò)程與解決方法,對(duì)同樣遇到這個(gè)問(wèn)題的朋友們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
純numpy卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)手寫(xiě)數(shù)字識(shí)別的實(shí)踐
本文主要介紹了純numpy卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)手寫(xiě)數(shù)字識(shí)別的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
python中tqdm使用,對(duì)于for和while下的兩種不同情況問(wèn)題
這篇文章主要介紹了python中tqdm使用,對(duì)于for和while下的兩種不同情況問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
python數(shù)學(xué)建模之Numpy?應(yīng)用介紹與Pandas學(xué)習(xí)
這篇文章主要介紹了python數(shù)學(xué)建模之Numpy?應(yīng)用介紹與Pandas學(xué)習(xí),NumPy?是一個(gè)運(yùn)行速度非??斓臄?shù)學(xué)庫(kù),一個(gè)開(kāi)源的的python科學(xué)計(jì)算庫(kù),主要用于數(shù)組、矩陣計(jì)算2022-07-07

