numpy.random

numpy.random.RandomState()指定种子值(指定种子值是为了使同样的条件下每次产生的随机数一样,避免程序调试时由随机数不同而引起的问题) 
如不设置种子值时,np.random.randint(100)可能产生0-100内的任意整数,且每次重新运行产生的数字都会在0-100 之间变动
而设置种子值后,np.random.RandomState(0).randint(100)可能产生0-100内的任意整数,之后无论再怎么运行,数字都不会再变啦,前提是保证种子值不变。  种子值可以是0啊1啊等等,种子值变了的话,整体才会变。

import numpy as np
np.random.randint(100)
可以多运行运行,会发现每次运行都会变
np.random.RandomState(0).randint(100)
你会发现运行的结果值都不会变

 

numpy.random.randn() 标准正态分布随机数

numpy.random.randn(d0, d1, …, dn)函数: 
从标准正态分布中返回一个(d0*d1* …* dn)维样本值
import numpy as np
print (np.random.randn(4, 2))

[[-1.88753851 -2.54412195]
[ 0.51856343 -1.07733711]
[ 1.05820592 -0.23889217]
[ 0.73309062 0.42152066]]

 

numpy.random.rand() 生成[0, 1)间随机数

numpy.random.rand()函数: 
生成一个(n*N*N*...*N)维位于[0, 1)中随机样本

import numpy as np
print (np.random.rand(2,3))

[[ 0.06112299  0.02476706  0.04235452]
 [ 0.47891264  0.68831817  0.31309659]]
numpy.random.shuffle() 随机打乱序列
numpy.random.shuffle() 将序列的所有元素随机排序 
<传入参数可以是一个序列或者元组>

import numpy as np
x = range(0, 8, 1)
print (x)
np.random.shuffle(x)
print (x)

[0, 1, 2, 3, 4, 5, 6, 7]

[2, 3, 5, 4, 1, 7, 0, 6]
numpy.random.random() 生成随机浮点数

默认为生成一个随机的浮点数,范围是在0.0~1.0之间,也可以通过参数size设置返回数据的size;

生成一个随机的浮点数:
import numpy
n = numpy.random.random()
print (n)
0.429489486421

设置参数size:
import numpy
n = numpy.random.random(size=(3, 2))
print (n)
[[ 0.32018625  0.22410508]
 [ 0.57830333  0.74477335]
 [ 0.08333105  0.48533304]]
numpy.random.randint() 产生随机整数

randint(low, high=None, size=None, dtype=’l’) 

numpy.random.randint()随机生一个整数int类型,可以指定这个整数的范围
import numpy as np
print (np.random.randint(low=5, high=10, size=3))
[7 5 5]

print( np.random.randint(5, size=3))
[1 1 3]

 

posted @ 2019-04-10 10:48  詹岩鹏  阅读(303)  评论(0编辑  收藏  举报