Python的第三方库numpy库中提供了random函数来实现产生数据的功能
目录
import numpy as np 可以避免每次输入numpy的麻烦
2、numpy.random.seed()与numpy.random.RandomState()
5、numpy.random.random_integers()
6、numpy.random.random_sample()
1、首先看一下random类下的所有功能
方法:输入'np.random.'(注意最后的点),然后点击Tab键
import numpy as np 可以避免每次输入numpy的麻烦
2、numpy.random.seed()与numpy.random.RandomState()
作用:使每次随机生成数一样
输入:一个数字
怎么理解呢?举个例子,系统会预先产生好几组随机数序列,如果输入了 np.random.seed(2),系统会调出第2组随机数序列,从其中依次挑出来N个你需要的数,如本例中,在第2组随机序列中从头开始挑选,先挑出5个随机数,再依次挑出来3个数。当我第二次输入 np.random.seed(2),系统会重新调出第2组随机数序列,而这次我先挑出来4个,依次挑出来5个,发现第一次挑出来的8个数,和我第二次挑出来的9个数的前8个是一样的。
numpy.random.RandomState()用法同理
3、numpy.random.rand()
作用:以给定的形状创建一个数组,并在数组中加入在[0,1]之间均匀分布的随机样本。
输入:你所需要的数据的size,例:如果需要2乘3的数组,则输入2,3
4、numpy.random.randint()
语法:numpy.random.randint(low,high=None,size=None,dtype)
作用:生成在半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间变为[0,low)
注:简单记法:int表示整型,所以产生整数
输入:最少输入一个数字,size默认为1
例子1:只输入一个数字
例子2:输入数字和尺寸
如图,输入必须符合语法,即‘size=’不可以缺少
以上俩个例子没有指定high值,所以输出都是【0,5)的数值
例子3:np.random.randint(5,high=10,size=(2,3))
5、numpy.random.random_integers()
语法:numpy.random.random_integers(low,high=None,size=None)
作用:生成闭区间[low,high]上离散均匀分布的整数值;若high=None,则取值区间变为[1,low]
输入同4
例子1:常规用法
即high这个关键词可以省略。
例子2:[1,5]上的数组
例子3:[5,10]上的数组
这里的警告指的是random_integers(5,high=10) = randint(5,high = 10+1),即[5,10]中的整数 = [5,11)中的整数
6、numpy.random.random_sample()
语法:numpy.random.random_sample(size=None)
同作用函数:numpy.random.random() ;
numpy.random.ranf()
numpy.random.sample()用法及实现都与它相同
作用:以给定形状返回[0,1)之间的随机浮点数(半开半闭区间)
7、numpy.random.choice()
语法:numpy.random.choice(a,size=None,replace=True,p=None)
作用:(1)若a为数组,则从a中选取元素;
(2)若a为单个int类型数,则选取range(a)=0:a-1中的数
(3)size为挑选出来的数据的形状
(4)replace是bool类型,为True,则选取的元素会出现重复;反之不会出现重复
(5)p为数组,里面存放选到每个数的可能性,即概率
例子1:从range(5)即0 1 2 3 4 中选出2*2的数组,因为replace默认为True,所以发生了重复
例子2:设置不可重复
例子3:设置概率
第一条语句中0 1 2 3 4 中挑出4的概率为0,所以结果没有4
第二条语句中0 1 2 3 4 中挑出1的概率为0,所以结果没有1
由于设置了不可以重复,且只有三个数据有被抽中的概率,所以发生了语法错误。
以上就是几种random类下的函数。