numpy.random模塊用法總結(jié)
random模塊用于生成隨機數(shù),下面看看模塊中一些常用函數(shù)的用法:
from numpy import random
numpy.random.uniform(low=0.0, high=1.0, size=None)
生出size個符合均分布的浮點數(shù),取值范圍為[low, high),默認取值范圍為[0, 1.0)
>>> random.uniform() 0.3999807403689315 >>> random.uniform(size=1) array([0.55950578]) >>> random.uniform(5, 6) 5.293682668235986 >>> random.uniform(5, 6, size=(2,3)) array([[5.82416021, 5.68916836, 5.89708586], [5.63843125, 5.22963754, 5.4319899 ]])
numpy.random.rand(d0, d1, ..., dn)
生成一個(d0, d1, ..., dn)維的數(shù)組,數(shù)組的元素取自[0, 1)上的均分布,若沒有參數(shù)輸入,則生成一個數(shù)
>>> random.rand() 0.4378166124207712 >>> random.rand(1) array([0.69845956]) >>> random.rand(3,2) array([[0.15725424, 0.45786148], [0.63133098, 0.81789056], [0.40032941, 0.19108526]]) >>> random.rand(3,2,1) array([[[0.00404447], [0.3837963 ]], [[0.32518355], [0.82482599]], [[0.79603205], [0.19087375]]])
numpy.random.randint(low, high=None, size=None, dtype='I')
生成size個整數(shù),取值區(qū)間為[low, high),若沒有輸入?yún)?shù)high則取值區(qū)間為[0, low)
>>> random.randint(8) 5 >>> random.randint(8, size=1) array([1]) >>> random.randint(8, size=(2,2,3)) array([[[4, 7, 0], [1, 4, 1]], [[2, 2, 5], [7, 6, 4]]]) >>> random.randint(8, size=(2,2,3), dtype='int64') array([[[5, 5, 6], [2, 7, 2]], [[2, 7, 6], [4, 7, 7]]], dtype=int64)
numpy.random.random_integers(low, high=None, size=None)
生成size個整數(shù),取值區(qū)間為[low, high], 若沒有輸入?yún)?shù)high則取值區(qū)間為[1, low],注意這里左右都是閉區(qū)間
>>> random.randint(8) >>> random.randint(8, size=1) array([1]) >>> random.randint(8, size=(2,2,3)) array([[[4, 7, 0], [1, 4, 1]], [[2, 2, 5], [7, 6, 4]]]) >>> random.randint(8, size=(2,2,3), dtype='int64') array([[[5, 5, 6], [2, 7, 2]], [[2, 7, 6], [4, 7, 7]]], dtype=int64)
numpy.random.random(size=None)
產(chǎn)生[0.0, 1.0)之間的浮點數(shù)
>>> random.random(5) array([0.94128141, 0.98725499, 0.48435957, 0.90948135, 0.40570882]) >>> random.random() 0.49761416226728084
相同用法:
- numpy.random.random_sample
- numpy.random.ranf
- numpy.random.sample (抽取不重復)
numpy.random.bytes(length)
生成隨機字節(jié)
>>> random.bytes(1) b'%' >>> random.bytes(2) b'\xd0\xc3'
numpy.random.choice(a, size=None, replace=True, p=None)
從a(數(shù)組)中選取size(維度)大小的隨機數(shù),replace=True表示可重復抽取,p是a中每個數(shù)出現(xiàn)的概率
若a是整數(shù),則a代表的數(shù)組是arange(a)
>>> random.choice(5) 3 >>> random.choice([0.2, 0.4]) 0.2 >>> random.choice([0.2, 0.4], p=[1, 0]) 0.2 >>> random.choice([0.2, 0.4], p=[0, 1]) 0.4 >>> random.choice(5, 5) array([1, 2, 4, 2, 4]) >>> random.choice(5, 5, False) array([2, 0, 1, 4, 3]) >>> random.choice(100, (2, 3, 5), False) array([[[43, 81, 48, 2, 8], [33, 79, 30, 24, 83], [ 3, 82, 97, 49, 98]], [[32, 12, 15, 0, 96], [19, 61, 6, 42, 60], [ 7, 93, 20, 18, 58]]])
numpy.random.permutation(x)
隨機打亂x中的元素。若x是整數(shù),則打亂arange(x),若x是一個數(shù)組,則將copy(x)的第一位索引打亂,意思是先復制x,對副本進行打亂處理,打亂只針對數(shù)組的第一維
>>> random.permutation(5) array([1, 2, 3, 0, 4]) >>> random.permutation(5) array([1, 4, 3, 2, 0]) >>> random.permutation([[1,2,3],[4,5,6]]) array([[1, 2, 3], [4, 5, 6]]) >>> random.permutation([[1,2,3],[4,5,6]]) array([[4, 5, 6], [1, 2, 3]])
numpy.random.shuffle(x)
與permutation類似,隨機打亂x中的元素。若x是整數(shù),則打亂arange(x). 但是shuffle會對x進行修改
>>> a = arange(5) >>> a array([0, 1, 2, 3, 4]) >>> random.permutation(a) array([1, 4, 3, 2, 0]) >>> a array([0, 1, 2, 3, 4]) >>> random.shuffle(a) >>> a array([4, 1, 3, 2, 0])
numpy.random.seed(seed=None)
設(shè)置隨機生成算法的初始值
其它符合函數(shù)分布的隨機數(shù)函數(shù)
- numpy.random.beta
- numpy.random.binomial
- numpy.random.chisquare
- numpy.random.dirichlet
- numpy.random.exponential
- numpy.random.f
- numpy.random.gamma
- numpy.random.geometric
- numpy.random.gumbel
- numpy.random.hypergeometric
- numpy.random.laplace
- numpy.random.logistic
- numpy.random.lognormal
- numpy.random.logseries
- numpy.random.multinomial
- numpy.random.multivariate_normal
- numpy.random.negative_binomial
- numpy.random.noncentral_chisquare
- numpy.random.noncentral_f
- numpy.random.normal
- numpy.random.pareto
- numpy.random.poisson
- numpy.random.power
- numpy.random.randn
- numpy.random.rayleigh
- numpy.random.standard_cauchy
- numpy.random.standard_exponential
- numpy.random.standard_gamma
- numpy.random.standard_normal
- numpy.random.standard_t
- numpy.random.triangular
- numpy.random.vonmises
- numpy.random.wald
- numpy.random.weibull
- numpy.random.zipf
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用 prometheus python 庫編寫自定義指標的方法(完整代碼)
這篇文章主要介紹了使用 prometheus python 庫編寫自定義指標的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06python通過get,post方式發(fā)送http請求和接收http響應的方法
這篇文章主要介紹了python通過get,post方式發(fā)送http請求和接收http響應的方法,涉及Python使用urllib模塊與urllib2模塊實現(xiàn)get與post發(fā)送數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下2015-05-05Pycharm?debug程序,跳轉(zhuǎn)至指定循環(huán)條件/循環(huán)次數(shù)問題
這篇文章主要介紹了Pycharm?debug程序,跳轉(zhuǎn)至指定循環(huán)條件/循環(huán)次數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08python實現(xiàn)異步回調(diào)機制代碼分享
本文介紹了python實現(xiàn)異步回調(diào)機制的功能,大家參考使用吧2014-01-01