numpy 中 的random模塊有多個函數用于生成不同類型的隨機數,常見的有 uniform、rand、random、randint、random_interges
下面介紹一下各自的用法
1、np.random.uniform的用法
np.random.uniform(low=0.0, high=1.0, size=None)
作用:可以生成[low,high)中的隨機數,可以是單個值,也可以是一維數組,也可以是多維數組
參數介紹:
- low :float型,或者是數組類型的,默認為0
- high:float型,或者是數組類型的,默認為1
- size:int型,或元組,默認為空
In[1]: import numpy as np
In[2]: np.random.uniform() # 默認為0到1
Out[2]: 0.827455693512018
In[3]: np.random.uniform(1,5)
Out[3]: 2.93533586182789
In[4]: np.random.uniform(1,5,4) #生成一維數組
Out[4]: array([ 3.18487512, 1.40233721, 3.17543152, 4.06933042])
In[5]: np.random.uniform(1,5,(4,3)) #生成4x3的數組
Out[5]:
array([[ 2.33083328, 1.592934 , 2.38072 ],
[ 1.07485686, 4.93224857, 1.42584919],
[ 3.2667912 , 4.57868281, 1.53218578],
[ 4.17965117, 3.63912616, 2.83516143]])
In[6]: np.random.uniform([1,5],[5,10])
Out[6]: array([ 2.74315143, 9.4701426 ])
2、np.random.random_sample的用法
和np.random.random作用一樣
random_sample(size=None)
- 作用:返回[0,1)之間的浮點型隨機數,通過size控制返回的形狀
np.random.random_sample()
0.47108547995356098
type(np.random.random_sample())
np.random.random_sample((5,))
array([ 0.30220482, 0.86820401, 0.1654503 , 0.11659149, 0.54323428])
Three-by-two array of random numbers from [-5, 0):
5 * np.random.random_sample((3, 2)) - 5
array([[-3.99149989, -0.52338984],
[-2.99091858, -0.79479508],
[-1.23204345, -1.75224494]])
3、np.random.rand的用法
rand(d0, d1, …, dn)
作用:返回[0,1)內的浮點數,輸入的d0,d1…dn代表維度信息,沒有輸入時,則返回[0,1)內的一個隨機值
In[15]: np.random.rand()
Out[15]: 0.9027797355532956
In[16]:np.random.rand(3,3)
Out[16]:
array([[ 0.47507608, 0.64225621, 0.9926529 ],
[ 0.95028412, 0.18413813, 0.91879723],
[ 0.89995217, 0.42356103, 0.81312942]])
In[17]: np.random.rand(3,3,3)
Out[17]:
array([[[ 0.30295904, 0.76346848, 0.33125168],
[ 0.77845927, 0.75020602, 0.84670385],
[ 0.2329741 , 0.65962263, 0.93239286]],
[[ 0.24575304, 0.9019242 , 0.62390674],
[ 0.43663215, 0.93187574, 0.75302239],
[ 0.62658734, 0.01582182, 0.66478944]],
[[ 0.22152418, 0.51664503, 0.41196781],
[ 0.47723318, 0.19248885, 0.29699868],
[ 0.11664651, 0.66718804, 0.39836448]]])
4、np.random.randint的用法
randint(low, high=None, size=None, dtype='l')
作用:生成整型隨機數,可以是單個隨機數,也可以是多維的隨機數構成的數組
參數介紹
- low:int 型,隨機數的下限
- high:int 型,默認為空,隨機數的上限,當此值為空時,函數生成[0,low)區間內的隨機數
- size:int、或ints、或元組,指明生成的隨機數的類型
- dtype:可選'int' ,'int32',默認為'l'
In[7]: np.random.randint(4)
Out[7]: 1
In[8]: np.random.randint(4,size=4)
Out[8]: array([2, 2, 2, 0])
In[9]: np.random.randint(4,10,size=6)
Out[9]: array([7, 9, 7, 8, 6, 9])
np.random.randint(4,10,size=(2,2),dtype='int32')
Out[10]:
array([[7, 4],
[6, 9]])
5、np.random.random_integers的用法
random_integers(low, high=None, size=None)
和randint的用法較為相似,區別在于[low,high]
的右邊界能夠取到,且改函數即將被拋棄,可以使用
np.random.randint(low,high+1)進行代替
總結:隨機數可以分為兩大類,一類是浮點型的,常以np.random.uniform為代表,np.random.rand,np.random.radnom和np.random.random_simple可以看作是np.random.uniform的特例;另一類是整數型的,以np.random.randint為代表,也有np.random.random_integers 但是后者將被前者取代
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

