接著上次的內容接著講,連續號都續上哈
?七、numpu中random的隨機生成函數
以下總結的是比較常用到的函數:
下面分別介紹一下不用的用法:
首先導入創建函數
import numpy as np
np.random.seed(666)
1、 rand(d0,d1,d2,...,dn):返回數據[0,1)之間,具有均勻分布
np.random.rand(5)
np.random.rand(3,4)
np.random.rand(2,3,4)
?結果如下:
2、randn(d0,d1,d2,...,dn) :返回數據具有標準正態分布(均值0,方差1 )
np.random.randn(5)
np.random.randn(3,4)
np.random.randn(2,3,4)
結果如下:
3、randint(low[,high,size,dtype]):生成隨機整數,包含low,不包含high。如果high不指定,則從[0,low)中生成數字
np.random.randint(3)
np.random.randint(1,10)
np.random.randint(10,30,size=(5))
np.random.randint(10,30,size=(2,3,4))
結果如下:
4、random([size]):生成[0.0,1.0)的隨機數
結果如下:
?
5、choice(a[,?size, replace, p]):a是一維數組,從它里面生成隨機結果?
#這時候,a是數字,則從range(5)中生成,size為3
np. random. choice(5,3)
np.random.choice(5,(2,3))# 這時候,a是數組,從里面隨機取出數字
np.random.choice([2,3,6,7,9],3)
np.random.choice([2,3,6,7,9],(2,3))
結果如下:
6、shuffle(x):把一個數組x進行隨機排列
a = np.arange(10)
np.random.shuffle(a)
a = np.arange(20).reshape(4, 5)
#如果數組是多維的,則只會在第一維度打散數據
np.random.shuffle(a)
結果如下:
7、permutation(x):把一個數組x進行隨機排列,或者數字的全排列
# 這時候,生成range(10)的隨機排列
np.random.permutation(10)
# 這時候,在第一維度進行打散
arr = np.arange(9).reshape((3,3)
# 注意,這里不會更改原來的arr,會返回一個新的copy
np.random.permutation(arr)
結果如下:
8、normal([loc, scale, size]):按照平均值loc和方差scale生成高斯分布的數字
直接展示結果過如下:
?
9、uniform([low, high, size]):在[low, high)之間生成均勻分布的數字
直接展示結果如下:
常用的隨機函數就到這里,我們會在下一篇講解新的數字統計函數,有興趣的小伙伴可以看主頁查看章節?
?