python numpy 常用随机数的产生方法的实现
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]:importnumpyasnp 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-twoarrayofrandomnumbersfrom[-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但是后者将被前者取代
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。