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 ])