NumPy随机数函数

来源:互联网 发布:淘宝怎么发链接给别人 编辑:程序博客网 时间:2024/06/05 01:56

NumPy随机数函数

最基本的随机数函数

  • np.random.rand(d0, d1, …, dn):根据d0-dn创建随机数数组浮点数,[0, 1),均匀分布;
  • np.random.randn(do, d1, …, dn):根据d0-dn创建随机数数组,标准正态分布;
  • np.random.randint(low, high, shape):根据shape创建随机整数或整数数组,[low, high);
  • np.random.seed(s):随机数种子,s是给定的种子值。
import numpy as npa = np.random.rand(3, 4, 5) # 每个元素为0-1之间的浮点数sn = np.random.randn(3, 4, 5) # 每个元素是根据N(0, 1)的方式选取出来的浮点数b = np.random.randint(100, 200, (3, 4)) # 每个元素为100-200间的整数

其他有用的随机数函数

  • np.random.shuffle(a):随机重排数组a的最外层维度,改变数组a;
  • np.random.permutation(a):随机重排数组a的最外层维度,不改变数组a;
  • np.random.choice(a, size, replace, p):从一维数组a中以概率p抽取元素,形成size形状的新数组,replace表示是否可以使用已经被挑选的元素,默认为False。
import numpy as npa = np.random.randint(100, 200, (3, 4))np.random.shuffle(a) #a的行重排,a改变np.random.permutation(a) #a的行重排,a不变b = np.random.randint(100, 200, (8, ))np.random.choice(b, (3, 2))np.random.choice(b, (3, 2), replace = Falsenp.random.choice(b, (3, 2), p = b / np.sum(b))

带有分布的随机数函数

  • np.random.uniform(low, high, size):产生具有均匀分布的数组,low起始值,high结束值,size形状;
  • np.random.normal(loc, scale, size):产生具有正态分布的数组,loc均值,scale标准差,size形状;
  • np.random.poisson(lam, size):产生具有泊松分布的数组,loc均值,scale标准差,size形状;