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 np
a = 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 np
a = 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 = False
np.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形状;