》》点赞,收藏+关注,理财&技术不迷路《《
目录:
![46388364b0ff67dff090238f4882788c.png](https://i-blog.csdnimg.cn/blog_migrate/ee9463de3a6d21bb67b2ac5cb0777ae3.png)
3.1 random标准库
random—伪随机数生成器
random模块提供了基于Mersenne Twister算法的快速伪随机数生成器。起初开发它是为了产生蒙特卡洛模拟的输入,Mersenne Twister生成的数近乎均匀分布并且周期大,使其适合更加广泛的应用。
1.random.random()
#random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
# 返回值:返回随机生成的一个实数,它在[0,1)范围内。
![78fd4a7a6187b90429729288614e8f1a.png](https://i-blog.csdnimg.cn/blog_migrate/0e0d531b3f1aff505b6b1b6278daac5f.png)
2.random.uniform(a,b)
# random.uniform()
# random.uniform的函数原型为:random.uniform(a, b)
# 用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。
# 如果a > b,则生成的随机数n: b <= n <= a。如果 a <b, 则 a <= n <= b。
![1e50301b70e7b4456bdef6030761f7de.png](https://i-blog.csdnimg.cn/blog_migrate/b3617f046d60288ec9e5fa1275c17b19.png)
3.random.randint(a,b)
random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b,
注意: 下限必须小于上限
![bba424d4306562502365b6c828cdb2d1.png](https://i-blog.csdnimg.cn/blog_migrate/55e518e840a23f5a0a10c55860d77f6c.png)
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) 等效。
![c0d3c3899d74842178ce430626fe4da9.png](https://i-blog.csdnimg.cn/blog_migrate/b34c3dd5033054adfdf1466c383df0f0.png)
5.random.choice(sequence)
random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。有关sequence可以查看python手册数据模型这一章
![859e91205277ab947fe295721099d23d.png](https://i-blog.csdnimg.cn/blog_migrate/d917f8b66d1e0295dc33db87e308c4e6.png)
6.random.shuffle(x, [random])
random.shuffle的函数原型为:random.shuffle(x, [random]),用于将一个列表中的元素打乱。
![5db04836b3046bf72f96f8286b71659c.png](https://i-blog.csdnimg.cn/blog_migrate/e5ac1ce12c9dea2105975c7386bc9cfb.png)
7.random.sample(sequence, k)
random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。
![65ccfb1a21579de535dc4ce60d6877fb.png](https://i-blog.csdnimg.cn/blog_migrate/b60e10f73fb08e97fc4f63b13f4488dd.png)
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
![b8c67b64fd6be51d0bae78df6863b8a4.png](https://i-blog.csdnimg.cn/blog_migrate/1f5a3c594b2434aeaf438803cd1ffa2e.png)
2.randn:
np.random.randn(d0, d1, …, dn)返回一个样本,具有标准正态分布。
randn函数返回一个或一组样本,具有标准正态分布。
dn表格每个维度
返回值为指定维度的arra
![cb52cbcec810c89c1ab8ce8086dd60a5.png](https://i-blog.csdnimg.cn/blog_migrate/cdb1bba75e0af72c29dfc101635e4c3c.png)
3.randint(low, [high, size]):
np.random.randint([low,high), size)
返回随机整数,范围区间为[low,high),包含low,不包含high
参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是http://np.int
high没有填写时,默认生成随机数的范围是[0,low)
![aa222b9b02be56fbc49f7e30be8201f8.png](https://i-blog.csdnimg.cn/blog_migrate/f3676aabf58af37c78db1e4d526a9c19.png)
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不能出现重复
![d92a81249f725162f915fcebb55dafbf.png](https://i-blog.csdnimg.cn/blog_migrate/c4331a2ac4108abb59f316959ba724e2.png)
![b5921848f90ff31aae1a322efdbf5081.png](https://i-blog.csdnimg.cn/blog_migrate/0262d80450cab7792ae1d35fd6cc5f55.png)
同理,p概率也会报错!!!
![38bbc42e03c83a8e2a92bad6ec187183.png](https://i-blog.csdnimg.cn/blog_migrate/6e88357bc5378f26205c3b96df9dfa5c.png)
5.seed()
numpy.random.seed()生成随机数的种子,使得每次生成随机数相同
np.random.seed()的作用:使得随机数据可预测。
当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数
![b84c0722d4a8a3c2c0c8af2e0706f524.png](https://i-blog.csdnimg.cn/blog_migrate/dd1df2b0d974587c00927833cd8921d2.png)