3. Python--random库

》》点赞,收藏+关注,理财&技术不迷路《《

目录:

3. Python--random库

 

3.1 random标准库

random—伪随机数生成器

random模块提供了基于Mersenne Twister算法的快速伪随机数生成器。起初开发它是为了产生蒙特卡洛模拟的输入,Mersenne Twister生成的数近乎均匀分布并且周期大,使其适合更加广泛的应用。

1.random.random()

#random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。

# 返回值:返回随机生成的一个实数,它在[0,1)范围内。

3. Python--random库

2.random.uniform(a,b)

# random.uniform()

# random.uniform的函数原型为:random.uniform(a, b)

# 用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。

# 如果a > b,则生成的随机数n: b <= n <= a。如果 a <b, 则 a <= n <= b。

3. Python--random库

 

3.random.randint(a,b)

random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b,

注意: 下限必须小于上限

3. Python--random库

 

4.random.randrange([start], stop[,step])

random.randrange的函数原型为:random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。

3. Python--random库

 

5.random.choice(sequence)

random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。有关sequence可以查看python手册数据模型这一章

3. Python--random库

 

6.random.shuffle(x, [random])

random.shuffle的函数原型为:random.shuffle(x, [random]),用于将一个列表中的元素打乱。

3. Python--random库

 

7.random.sample(sequence, k)

random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。

3. Python--random库

 

3.2 numpy中的random模块

numpy.random对python内置numpy做了补充,可用于生成多种概率分布的函数

import numpy as np

1.rand:

np.random.rand(d0, d1, …, dn)

均匀分布的随机样本值

根据给定维度生成[0,1)之间的数据,包含0,不包含1

dn表格每个维度

返回值为指定维度的array

3. Python--random库

 

2.randn:

np.random.randn(d0, d1, …, dn)返回一个样本,具有标准正态分布。

randn函数返回一个或一组样本,具有标准正态分布。

dn表格每个维度

返回值为指定维度的array

3. Python--random库

 

3.randint(low, [high, size]):

np.random.randint([low,high), size)

返回随机整数,范围区间为[low,high),包含low,不包含high

参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int

high没有填写时,默认生成随机数的范围是[0,low)

3. Python--random库

 

4.choice(a,[size, replace, p])

np.random.choice(a, size, replace, p)生成一个随机样本,从一个给定的一维数组

从给定的一维数组中生成随机数

参数: a为一维数组类似数据或整数;size为数组维度;p为数组中的数据出现的概率p(a, b, c, ….) 这里a+b+c+.... = 1,如果不为1,就会报错,因为计算机不知道其余取什么。(比如:3, p=[0,0,0.5], 就意味着0,1这两个数概率为0,不可能出现,2出现概率0.5,那么还有0.5取谁呢??报错!!)这个abc个数为a。

a为整数时,对应的一维数组为np.arange(a)

replace = True是默认,可以重复。replace = False不能出现重复

3. Python--random库

3. Python--random库

同理,p概率也会报错!!!

3. Python--random库

 

5.seed()

numpy.random.seed()生成随机数的种子,使得每次生成随机数相同

np.random.seed()的作用:使得随机数据可预测。

当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数

3. Python--random库