NumPy数值计算库-2

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)

 

posted @ 2018-06-23 19:50  summer91  阅读(281)  评论(0编辑  收藏  举报