python随机函数设置 python中的随机数函数

python基础2:随机数生成—random模块、numpy中的random函数 在Python中可以用于随机数生成python随机函数设置的有两种主要途径,一是random模块,另一个是numpy库中random函数 。
在python随机函数设置我们日常使用中,如果是为了得到随机的单个数,多考虑random模块;如果是为了得到随机小数或者整数的矩阵,就多考虑numpy中的random函数,当然numpy也可以的到随机的单个数
一、random模块
二、numpy库中random函数
random模块中将近有7个函数都是可以用来生成随机数的:
作用:随机生成一个 [0,1) 的浮点数
作用:随机生成一个 [a,b) 的浮点数
作用:随机生成一个 [a,b] 的整数
作用:从列表,元组,字符串、集合(可用于for循环的数据类型)中随机选择一个元素
作用:在生成的以a为始,每step递增 , 以b为终这样的一个整数序列中随机选择一个数
作用:打乱一个列表的元素顺序
从序列population中随机取出k个数;population的类型可以是列表、元组、集合、字符串;
在Numpy库中,常用使用np.random.rand()、np.random.randn()和np.random.randint()随机函数 。
作用:返回一个或一组服从标准正态分布的随机样本值
备注:标准正态分布是以0为均数、以1为标准差的正态分布,记为N(0,1) 。对应的正态分布曲线如下所示,即
作用:使用方法与np.random.randn()函数相同,通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值 。随机样本取值范围是[0,1),不包括1
numpy.random.randint(low, high=None, size=None, dtype='l')
输入:
low—–为最小值
high—-为最大值
size—–为数组维度大小
dtype—为数据类型,默认的数据类型是np.int 。
作用: 返回随机整数或整型数组,范围区间为[low,high),包含low , 不包含high; high没有填写时 , 默认生成随机数的范围是[0 , low
np.random.random([size])
作用:生成[0,1)之间的浮点数,与np.random.rand()功能类似
np.random.choice(a,[ size, replace, p])
参考文档1: 【python】numpy之random库简单的随机数据生成.rand()、.randint()、.randn()、.random()等(一)
参考文档2: Python中随机数的生成
参考文档3: numpy.random模块常用函数
终于写完了,python随机函数设置我以为它很简单的………………预计1小时,结果写了2.5小时
python如何一次性取出多个随机数Python内置的函数一次只能生成一个随机数,然而你可以方便地使用表理解(list comprehension)一次性生成多个随机数 。示例的代码如下:
import random
[random.randint(0,100) for _ in range(10)]
#[57, 93, 22, 55, 41, 64, 47, 32, 93, 61]
range函数输入不同的值,可以设置需要生成随机数的个数,上面的例子中生成了10个随机数 。
用python生成随机数的几种方法1 从给定参数的正态分布中生成随机数
当考虑从正态分布中生成随机数时,应当首先知道正态分布的均值和方差(标准差) , 有了这些,就可以调用python中现有的模块和函数来生成随机数了 。这里调用了Numpy模块中的random.normal函数,由于逻辑非参简单 , 所有直接贴上代码如下:
import numpy as np# 定义从正态分布中获取随机数的函数def get_normal_random_number(loc, scale): """ :param loc: 正态分布的均值 :param scale: 正态分布的标准差 :return:从正态分布中产生的随机数 """ # 正态分布中的随机数生成 number = np.random.normal(loc=loc, scale=scale) # 返回值 return number# 主模块if __name__ == "__main__": # 函数调用 n = get_normal_random_number(loc=2, scale=2) # 打印结果 print(n) # 结果:3.275192443463058

推荐阅读