import numpy as np

1、两种方式设定相同的随机数的值:np.random.seed()和np.random.RandomState()

np.random.seed(42)
a=np.random.rand(1,10)
b=np.random.rand(1,10)
print(a)
print(b)
输出:

[[0.37454012 0.95071431 0.73199394 0.59865848 0.15601864 0.15599452
0.05808361 0.86617615 0.60111501 0.70807258]]
[[0.02058449 0.96990985 0.83244264 0.21233911 0.18182497 0.18340451
0.30424224 0.52475643 0.43194502 0.29122914]]

r=np.random.RandomState(42)
a=r.rand(1,10)
r=np.random.RandomState(42)
b=r.rand(1,10)
输出:

a
Out[31]:
array([[0.37454012, 0.95071431, 0.73199394, 0.59865848, 0.15601864,
0.15599452, 0.05808361, 0.86617615, 0.60111501, 0.70807258]])

b
Out[32]:
array([[0.37454012, 0.95071431, 0.73199394, 0.59865848, 0.15601864,
0.15599452, 0.05808361, 0.86617615, 0.60111501, 0.70807258]])

可以用RandomState代替seed

a=np.random.RandomState(None).randn(4)
b=np.random.RandomState(None).randn(4)
print(a)
print(b)

变量a、b的值不一样。

2、

numpy.random.rand(d0,d1,…,dn)
  • rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1
  • dn表格每个维度
  • 返回值为指定维度的array
np.random.randn(d0,d1,…,dn)
  • randn函数返回一个或一组样本,具有标准正态分布。
  • dn表格每个维度
  • 返回值为指定维度的array
np.random.randint(low, high=None, size=None, dtype=’l’)
  • 返回随机整数,范围区间为[low,high),包含low,不包含high
  • 参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int
  • high没有填写时,默认生成随机数的范围是[0,low)
np.random.random_integers(low, high=None, size=None)
  • 返回随机整数,范围区间为[low,high],包含low和high
  • 参数:low为最小值,high为最大值,size为数组维度大小
  • high没有填写时,默认生成随机数的范围是[1,low]
  • 该函数在最新的numpy版本中已被替代,建议使用randint函数
np.random.random_sample(size=None)
np.random.random(size=None)
np.random.ranf(size=None)
np.random.sample(size=None)
  • 生成[0,1)之间的浮点数
np.random.choice(a, size=None, replace=True, p=None)
  • 从给定的一维数组中生成随机数
  • 参数: a为一维数组类似数据或整数;size为数组维度;p为数组中的数据出现的概率
  • a为整数时,对应的一维数组为np.arange(a)