您好,登錄后才能下訂單哦!
這篇文章給大家介紹random函數如何在Numpy中使用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
random模塊用于生成隨機數
numpy.random.rand(d0, d1, ..., dn):生成一個[0,1)之間的隨機浮點數或N維浮點數組。 #numpy.random.rand(d0, d1, ..., dn) import numpy as np #無參 np.random.rand()#生成生成[0,1)之間隨機浮點數 type(np.random.rand())#float #d0,d1....表示傳入的數組形狀 #一個參數 np.random.rand(1)#array([ 0.44280931]) type(np.random.rand(1))#numpy.ndarray np.random.rand(5)#生成一個形狀為5的一維數組 #兩個參數 np.random.rand(2,3)#生成2x3的二維數組 #np.random.rand((2,3))#報錯,參數必須是整數,不能是元組
numpy.random.randn(d0, d1, ..., dn):生成一個浮點數或N維浮點數組,取數范圍:正態分布的隨機樣本數。
#numpy.random.randn(d0, d1, ..., dn) import numpy as np #無參 np.random.randn()#1.4872544578730051,不一定是[0,1)之間的隨機數 #一個參數 np.random.randn(1) np.random.randn(5)#生成形狀為5的一維數組 #兩個參數 np.random.randn(2,3)#生成2x3數組 #np.random.randn((2,3))#報錯,參數必須是整數
numpy.random.standard_normal(size=None):生產一個浮點數或N維浮點數組,取數范圍:標準正態分布隨機樣本
import numpy as np #numpy.random.standard_normal(size=None) #size為整數 np.random.standard_normal(2)#array([-2.04606393, -1.05720303]) #size為整數序列 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'):生成一個整數或N維整數數組,取數范圍:若high不為None時,取[low,high)之間隨機整數,否則取值[0,low)之間隨機整數。
#numpy.random.randint(low, high=None, size=None, dtype='l') import numpy as np #low=2 np.random.randint(2)#生成一個[0,2)之間隨機整數 #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)#報錯,high必須大于low #low=2,high=6 np.random.randint(2,6)#生成一個[2,6)之間隨機整數 #low=2,high=6,size=5 np.random.randint(2,6,size=5)#生成形狀為5的一維整數數組 #size為整數元組 np.random.randint(2,size=(2,3))#生成一個2x3整數數組,取數范圍:[0,2)隨機整數 np.random.randint(2,6,(2,3))#生成一個2x3整數數組,取值范圍:[2,6)隨機整數 #dtype參數:只能是int類型 np.random.randint(2,dtype='int32') np.random.randint(2,dtype=np.int32)
numpy.random.random_integers(low, high=None, size=None):生成一個整數或一個N維整數數組,取值范圍:若high不為None,則取[low,high]之間隨機整數,否則取[1,low]之間隨機整數。
#numpy.random.random_integers(low, high=None, size=None) import numpy as np #low=2 np.random.random_integers(2)#生成一個[1,2]之間隨機整數 #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]之間隨機整數 #low=2、high=6、size=5 np.random.random_integers(2,6,size=5)#生成一個形狀為5的一維整數數組組 #size為整數元組 np.random.random_integers(2,size=(2,3))#生成一個2x3數組,取數范圍:[1,2]隨機整數 np.random.random_integers(2,6,(2,3))#生成一個2x3數組,取數范圍:[2,6]隨機整數
numpy.random.random_sample(size=None):生成一個[0,1)之間隨機浮點數或N維浮點數組。
#numpy.random.random_sample(size=None) import numpy as np #size=None np.random.random_sample()#生成一個[0,1)之間隨機浮點數 #size=2 np.random.random_sample(2)#生成shape=2的一維數組 #size為整數元組 np.random.random_sample((2,))#等同np.random.random_sample(2) #np.random.random_sample((,2))#報錯 np.random.random_sample((2,3))#生成2x3數組 np.random.random_sample((3,2,2))#3x2x2數組
numpy.random.choice(a, size=None, replace=True, p=None):從序列中獲取元素,若a為整數,元素取值為np.range(a)中隨機數;若a為數組,取值為a數組元素中隨機元素。
#numpy.random.choice(a, size=None, replace=True, p=None) import numpy as np #a為整數,size為None np.random.choice(2)#生成一個range(2)中的隨機數 #a為整數,size為整數 np.random.choice(2,2)#生成一個shape=2一維數組 #a為整數,size為整數元組 np.random.choice(5,(2,3))#生成一個2x3數組 #a為數組,size為None np.random.choice(np.array(['a','b','c','f']))#生成一個np.array(['a','b','c','f']中隨機元素 #a為數組,size為整數 np.random.choice(5,(2,3))#生成2x3數組 #a為數組,size為整數元組 np.random.choice(np.array(['a','b','c','f']),(2,3))#生成2x3數組 #p參數:可以理解成a中元素出現的概率,p的長度和a的長度必須相同,且p中元素之和為1,否則報錯 #np.random.choice(2,p=[1])#報錯,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的一維數組,元素取值為1或2的隨機數
numpy.random.shuffle(x):對X進行重排序,如果X為多維數組,只沿第一條軸洗牌,輸出為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)#對于多維數組,只沿著第一條軸打亂順序
numpy.random.permutation(x):與numpy.random.shuffle(x)函數功能相同,兩者區別:peumutation(x)不會修改X的順序。
#numpy.random.permutation(x) import numpy as np #x=5 np.random.permutation(5)#生成一個range(5)隨機順序的數組 #x為列表或元組 list1 = [1,2,3,4] np.random.permutation(list1)#array([2, 1, 4, 3]) #list1#[1, 2, 3, 4] #x為數組 arr = np.arange(9) np.random.permutation(arr) arr2 = np.arange(9).reshape(3,3) np.random.permutation(arr2)#對于多維數組,只會沿著第一條軸打亂順序
關于random函數如何在Numpy中使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。