python sequence_3. Python--random库

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

目录:

46388364b0ff67dff090238f4882788c.png

3.1 random标准库

random—伪随机数生成器

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

1.random.random()

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

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

78fd4a7a6187b90429729288614e8f1a.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

3.random.randint(a,b)

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

注意: 下限必须小于上限

bba424d4306562502365b6c828cdb2d1.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

5.random.choice(sequence)

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

859e91205277ab947fe295721099d23d.png

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

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

5db04836b3046bf72f96f8286b71659c.png

7.random.sample(sequence, k)

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

65ccfb1a21579de535dc4ce60d6877fb.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

2.randn:

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

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

dn表格每个维度

返回值为指定维度的arra

cb52cbcec810c89c1ab8ce8086dd60a5.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

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

b5921848f90ff31aae1a322efdbf5081.png

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

38bbc42e03c83a8e2a92bad6ec187183.png

5.seed()

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

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

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

b84c0722d4a8a3c2c0c8af2e0706f524.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值