numpy.random模块提供了大量的随机数相关的函数:
rand() 0到1之间的随机数
randn() 标准正态分布的随机数
randint() 指定范围内的随机整数
normal() 正态分布
uniform() 均匀分布
poisson() 泊松分布
permutation() 随机排列
shuffle() 随机打乱顺序
choice() 随机抽取样本
seed() 设置随机数种子
#permutation用于产生一个乱序数组 a=np.array([1,10,20,30,40,50]) print(nr.permutation(10)) #产生一个[0,n)这个n个整数的随机排列 print(nr.permutation(a)) #返回一个随机排列之后的序列
choice()从指定的样本随机进行抽取,size参数指定输出数组的形状,replace参数为True时进行可重复抽取,False时进行不重复抽取,默认值为False;p参数指定每个元素的抽取概率,默认抽取概率相等。
a=np.arange(10,25,dtype=float) c1=nr.choice(a,size=(4,3)) c2=nr.choice(a,size=(4,3),replace=False) c3=nr.choice(a,size=(4,3),p=a/np.sum(a))
sum()求和,mean()期望,average()均值,std()标准差,var()方差,product()连乘积
average()可以有一个指定元素权值的weight参数,可用于计算加权平均值。
score=np.array([83,72,79]) number=np.array([20,15,30]) print(np.average(score,weights=number))
np.random.seed(41) a=nr.randint(0,10,size=(4,5)) print(a) maxPos=np.argmax(a) #返回平坦后的最大值对应的数组下标 print(maxPos) idx=np.unravel_index(maxPos,a.shape) #一维数组的下标转换为多维数组的下标 print(idx)