python之random和numpy.random

最近经常用到random函数,因为总忘记或者搞混,所以在这做一个笔记

random

random函数是python中封装好的函数,作为随机生成一些数必不可少的函数

1、random.random()表示在[0,1)区间随机生成一个随机浮点数,所传递的函数不接受参数,即函数没有参数可传

2、random.randint(m,n)接受两个参数,表示在[m,n]区间随机生成一个整数

3、random.randrange(m=0,n,step=1)接受3个参数,表示在[m,n)区间,随机生成步长为step的一个整数

只传两个参数,表示在[m,n)区间,随机生成一个步长为1的一个整数

只传一个参数,表示在[0,n)区间,随机生成一个步长为1的一个整数

可以当做python的range函数的用法来理解

4、random.uniform(m,n)表示在[m,n)区间随机生成一个浮点数

5、random.choice(n),n可以为字符串、元组、列表(用len()函数可得到值的对象),表示从序列中随机选取一个元素

通常以这种方式形成随机数列表

numpy.random

numpy包里有自己的random函数,与python自带的random函数不同,由于numpy是计算矩阵的工具包,所以多数用来生成矩阵形式的数

1、np.random.random(n),只接受一个参数n,用来生成n维,取值范围[0,1)均匀分布的随机样本

2、np.random.randint(low=0,high,size=None),用来随机生成取值范围[low,high)(low默认从0开始),size=(m,n)表示m行n列的整数,size=n表示有多少维度

3、np.random.rand(m,n) 用来生成m行,n列,取值范围[0,1)均匀分布的随机样本值;当参数只传递一个时,与np.random.random(n)的结果相同;不传递参数时,默认随机产生一个范围为[0,1)的一个样本

4、np.random.randn(m,n) 用来生成m行,n列,从服从标准正态分布N(0,1)(期望μ=0,方差σ=1)中选取的样本值

5、np.random.seed(n),可传一个任意参数n

我的理解是,在随机产生数据时,是默认没传入参数的,系统随机选取值,故当指定了seed之后,如seed(0)时候选择了某一个数,系统会选取某个数,第二次还会选择同样的数

猜你喜欢

转载自blog.csdn.net/weixin_39631030/article/details/82777659
今日推荐