1.生成指定形狀0-1之間的隨機數 :np.random.random()和np.random.rand()
注意:np.random.random()如果要生成多維數據時需要傳入一個數組(tuple類型),而np.random.rand()可以直接傳入
#生成0-1之間的隨機數 import numpy as np np.random.random(100) np.random.rand(100) #區別 np.random.random((3,4)) #需要以數組形式傳入 np.random.rand(3,4)
2.生成指定范圍內的隨機整數np.random.randint(low=,higt=,size=,dtype=)
low和hight代表指定范圍內的最大值和最小值
size可以時數組的元素個數也可以是數組的維數,如size=(2,3),即是生成一個2行3列的數據
dtype只能寫np.int32或者是np.int64
#如果只傳入一個參數,則取該范圍內的某一個數據 np.random.randint(10) #不然就得傳入三個參數,dtype可以不傳入 np.random.randint(0,100,(3,4))
3.與正態分布有關的函數,np.random.randn()和np.random.normal()
區別:np.random.randn() 生成服從標准正態分布,可以傳n個參數,代表着維數
np.random.normal(loc,scale,size) 生成指定均值和標准差的正態分布隨機數,參數分別代表着均值標准差和隨機數的個數,只能生成一維數組,可以配合reshape()使用
np.random.randn(3) #返回三個值 np.random.randn(3,4) np.random.normal(10) #只返回一個值 np.random.normal(2,0.5,10).reshape(2,5)
4.均勻分布 np.random.uniform()
numpy.random.uniform(low,high,size)
從一個均勻分布[low,high)中隨機采樣,注意定義域是左閉右開,即包含low,不包含high
參數介紹:
- low: 采樣下界,float類型,默認值為0;
- high: 采樣上界,float類型,默認值為1;
- size: 輸出樣本數目,為int或元組(tuple)類型,例如,size=(m,n,k), 則輸出m*n*k個樣本,缺省時輸出1個值。
返回值:ndarray類型,其形狀和參數size中描述一致。
np.random.uniform(10) #返回一個值 np.random.uniform(1,10,10) #返回一個一維數組 np.random.uniform(1,10,(2,3)) #返回一個二維數組
5.np.random.seed()按照種子來生成隨機數,種子一樣,隨機數結果一致
#不管執行多少回結果都一樣 np.random.seed(10) np.random.rand(10)
6.np.random.shuffle()打亂數組元素順序
a=np.arange(10) np.random.shuffle(a) #輸出的順序被打亂了
7.np.random.choice()按照指定概率從指定數組中,生成隨機數
#進行10000次擲硬幣實驗 l=[0,0] for i in range(10000): f=np.random.choice([0,1],p=[0.5,0.5]) l[f]=l[f]+1 p=l[0]/(l[0]+l[1])
參數表述0被抽到的概率為0.5;1同理