random模块用于生成随机数,下面是一些常用的函数用法:
1.np.random.rand 生成一个[0,1)之间的随机浮点数或N维浮点数组,如下图例子
上图中2,3,2分别生成的数组有多少行,多少列,每一个有多少元素
2.np.random.randn 返回一个或一组样本,具有标准正态分布。
3.np.random.randint返回一定范围的一维或者多维整数
numpy.random.randint(low, high=None, size=None, dtype=’l’)
返回随机整数,范围区间为[low,high),包含low,不包含high
size为数组维度,元组形式,如(2,3)#2行3列
high没有填写时,默认生成随机数的范围是[0,low)
dtype指定数据类型,默认int
4. np.random.choice从给定的一维数组中生成随机数
numpy.random.choice(a, size=None, replace=True, p=None)
a为一维数组类似数据或整数;size为数组维度;p为数组中的数据出现的概率
a为整数时,对应的一维数组为np.arange(a)
如上图a可以为一个数字也可以为一个数组,size为生成的数据维度2*3,p为每个元素出现的概率
5.其他函数举例,都可以生成多维数组
print('-----------random_sample--------------')
print(np.random.random_sample(size=(2,2)))
-----------random_sample--------------
[[ 0.34966859 0.85655008]
[ 0.16045328 0.87908218]]
print('-----------random--------------')
print(np.random.random(size=(2,2)))
-----------random--------------
[[ 0.25303772 0.45417512]
[ 0.76053763 0.12454433]]
print('-----------ranf--------------')
print(np.random.ranf(size=(2,2)))
-----------ranf--------------
[[ 0.0379055 0.51288667]
[ 0.71819639 0.97292903]]
print('-----------sample--------------')
print(np.random.sample(size=(2,2)))
-----------sample--------------
[[ 0.59942807 0.80211491]
[ 0.36233939 0.12607092]]
6. numpy.random.seed(n) 其中n为任意指定
当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数
numpy.random.seed(0)
>>> numpy.random.rand(4)
array([ 0.42, 0.65, 0.44, 0.89])
也就是说,每次想获得与上次相同的随机数,seed后的数字应该相同,而且seed后只对一个random有效。