random模块和numpy.random模块用法总结

python中的random模块

random.uniform(a,b)
生成一个范围在[a,b]的随机数

>> import random
>> random.uniform(3,4)    #生成[3,4]的随机数
3.6702634226477078

random.random()
生成一个范围在[0,1)的随机数

>> random.random()   #生成[0,1)的随机数
0.8797861650964258

numpy模块的random模块

numpy.random.rand(d0, d1, ..., dn)
返回取值范围在[0,1)n维随机数数组

>> np.random.rand(4)         #一维
array([0.59570617, 0.34934815, 0.59218026, 0.4551412 ])
>> np.random.rand(3,2)           #二维
array([[ 0.14022471,  0.96360618], 
       [ 0.37601032,  0.25528411], 
       [ 0.49313049,  0.94909878]]) 
>>np.random.rand()    #默认是一个随机数
0.3424230891403405

 
random.random(size=None)
返回取值范围在[0,1)size形状的随机数数组,

>> np.random.random(size=[3,5])       #3行5列
array([[0.78470577, 0.18147313, 0.92946484, 0.63476521, 0.81235155],
       [0.61345009, 0.64781719, 0.62010312, 0.98284757, 0.53915278],
       [0.1201315 , 0.51884306, 0.4940652 , 0.93922919, 0.5823268 ]])
>>np.random.random()           ##默认是一个随机数,size=None 同
0.42953739030600846

 
numpy.random.randint(low, high=None, size=None, dtype='l')
返回[low,high)范围的整数的size形状整数数组

如果没有定义high的值,取值范围就在[0,low).

>> np.random.randint(2, size=10)   #一维
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])           
>> np.random.randint(5, size=(2, 4))  #二维
array([[4, 0, 2, 1],
       [3, 2, 2, 0]])

 
numpy.random.normal(loc=0.0, scale=1.0, size=None)
生成正态分布的随机数数组,loc为位置参数(均数),scale为尺度参数(标准差)

正态分布函数

>> np.random.normal(size=10)     #loc=0,scale=1.0,size=10
array([-0.01857212, -0.2626132 , -1.54105294,  0.32461509, -1.22462552,
       -1.37207263, -0.48119878,  0.79448381, -0.7042971 , -0.9033819 ])

 

你可能感兴趣的:(random模块和numpy.random模块用法总结)