在使用python進行資料處理時,往往需要用到大量的隨機資料,那如何構造這麼多資料呢?python的第三方庫numpy庫中提供了random函式來實現這個功能。
本文將根據官方文件以及其他博友的部落格一起來談論常見的random函式以及使用
官方文件
首先說下numpy.random.seed()與numpy.random.randomstate()這兩個在資料處理中比較常用的函式,兩者實現的作用是一樣的,都是使每次隨機生成數一樣,具體可見下圖
官方文件中給出的用法是:numpy.random.rand(d0,d1,…dn)
以給定的形狀建立乙個陣列,並在陣列中加入在[0,1]之間均勻分布的隨機樣本。
用法及實現:
官方文件中給出的用法是:numpy.random.rand(d0,d1,…dn)
以給定的形狀建立乙個陣列,陣列元素來符合標準正態分佈n(0,1)
若要獲得一般正態分佈sigma * np.random.randn(…) + mu進行表示
用法及實現:
官方文件中給出的用法是:numpy.random.randint(low,high=none,size=none,dtype)
生成在半開半閉區間[low,high)上離散均勻分布的整數值;若high=none,則取值區間變為[0,low)
用法及實現
high=none的情形
官方文件中給出的用法是:
numpy.random.random_integers(low,high=none,size=none)
生成閉區間[low,high]上離散均勻分布的整數值;若high=none,則取值區間變為[1,low]
用法及實現
high=none的情形
high≠none的情形
此外,若要將【a,b】區間分成n等分,也可以用此函式實現
a+(b-a)*(numpy.random.random_integers(n)-1)/(n-1)
5.numpy.random_sanmple()
官方文件中給出的用法是:
numpy.random.random_sample(size=none)
以給定形狀返回[0,1)之間的隨機浮點數
用法及實現
其他函式,numpy.random.random();numpy.random.ranf()
numpy.random.sample()用法及實現都與它相同
6.numpy.random.choice()
官方文件中給出的用法:
numpy.random.choice(a,size=none,replace=true,p=none)
若a為陣列,則從a中選取元素;若a為單個int型別數,則選取range(a)中的數
replace是bool型別,為true,則選取的元素會出現重複;反之不會出現重複
p為陣列,裡面存放選到每個數的可能性,即概率
用法及實現
引數的意義為:
loc:float
此概率分布的均值(對應著整個分布的中心centre)
scale:float
此概率分布的標準差(對應於分布的寬度,scale越大越矮胖,scale越小,越瘦高)
size:int or tuple of ints
輸出的shape,預設為none,只輸出乙個值
經常會用到的np.random.randn(size)
所謂標準正態分佈(μ=0,σ=1μ=0,σ=1),對應於np.random.normal(loc=0, scale=1, size)
。 NumPy隨機數函式
import numpy as np a np.random rand 3,4,5 每個元素為0 1之間的浮點數 sn np.random randn 3,4,5 每個元素是根據n 0,1 的方式選取出來的浮點數 b np.random randint 100,200,3,4 每個元素為100 20...
numpy生成隨機數
這裡只列出重要的幾個函式 使用numpy.random.randint low,high none,size none,dtype i 範圍為 low,high 不包括high這個值。生成的是離散的均勻分布 discrete uniform distribution 使用numpy.random.r...
Numpy產生隨機數
numpy中的random模組包含了很多方法可以用來產生隨機數,這篇文章將對random中的一些常用方法做乙個總結。1 numpy.random.rand d0,d1,dn 作用 產生乙個給定形狀的陣列 其實應該是ndarray物件或者是乙個單值 陣列中的值服從 0,1 之間的均勻分布。引數 d0,...