1、python中的random函数
random() 方法返回随机生成[0,1)范围内的一个实数
randint(a,b)方法随机生成a到b范围内的一个整数
randrange(a,b,c)方法生成a到b范围类步长为3的整数
import random
x1 = random.random() #0.323415
x2 = random.randint(0,99) #67
t1 = random.randrange(1,100,2) #21(随机生成1到100的一个奇数)
t2 = random.randrange(0,100,2) #42(随机生成1到100的一个偶数)
eg:随机生成50个0~10上的整数
b = [random.randint(0,10) for i in range(50)]
2、python中的random函数2
random.uniform(a,b)方法生成a~b上一个随机浮点数
t1 = random.uniform(1,2) #1.1265
random.sample(t,n)方法在t中随机的选取n个字符,不放回抽样
text1 = 'love you'
random.sample(text1,3) #['v','u','']
等同于np.random.choice(t,n,replace = False)随机的选取一个字符或列表元素
random.sample()默认是不重复抽样(不放回抽样),而numpy.random.choice()默认是可以重复抽样,要想不重复抽样,需要设置replace参数为False
t1 = random.choice('loveyou') #'v'
t2 = random.choice([1,2,3,4,5]) #2
t3 = np.random.choice([1,2,3,4,5],2,replace = False) #array([1, 5])
random.shuffle()方法对list列表随机打乱顺序
list = [1,2,3,4,5]
random.shuffle(list)
list # [5, 3, 2, 1, 4]
3、numpy模块中的randn和rand函数
np.random.rand(d0,d1,…,dn),生成0~1范围内的n维随机数
t = np.random.rand(3,4) #生成0~1上的3行4列矩阵
#array([[0.69540614, 0.30227421, 0.12397374, 0.21053096],
# [0.55160302, 0.82598309, 0.25815192, 0.15292811],
# [0.51936782, 0.26952684, 0.02214647, 0.74369687]])
np.random.randn(d0,d1,…,dn),生成-1~+1范围内的服从标准正态分布的随机数
t = np.random.randn(3,4) #生成3×4的服从标准正态分布的矩阵
t
#array([[-1.88124885, -1.30985867, -0.50063133, 0.51363022],
# [-2.22890123, 1.15660625, 0.43609057, -0.80347274],
# [-0.14642673, -0.21592463, 0.97880013, 1.97954445]])