Numpy的随机数函数
np.random的随机数函数(一)
rand(d0,d1,...,dn) #根据d0-dn创建随机数组,浮点数,范围[0,1),均匀分布
randn(d0,d1...,dn) #根据d0-dn创建随机数数组,标准正态分布
randint(low,high,shape) #根据shape创建随机整数或整数数组,范围是[low,high)
seed(s) #随机数种子,s是给定的种子值
np.random的随机数函数(二)
shuffle(a) #根据数组a的第1轴进行随机排列,会改变数组a
permutation(a) #根据数组a的第1轴产生一个新的乱序数组,不改变数组a
choice(a,size,replace,p) #从一维数组a中以概率p抽取元素,形成size形状的新数组,replace表示是否可以重用元素,默认为False
例子:
import numpy as np
a= np.array([1,2,3])
np.random.shuffle(a)
a
Out[10]: array([3, 1, 2]) #此时数组a已经发生变化
#------分隔线------
a= np.array([1,2,3])
np.random.permutation(a)
Out[13]: array([3, 1, 2])
a
Out[14]: array([1, 2, 3]) #原始数组a并没有变化
#------分隔线------
b=np.random.randint(100,200,(8,))
b
Out[22]: array([169, 144, 172, 168, 147, 128, 141, 165])
np.random.choice(b,(3,2))
Out[23]:
array([[165, 141],
[165, 141],
[165, 165]])
np.random.choice(b,(3,2),replace=False)
Out[24]:
array([[169, 128],
[165, 144],
[141, 147]])
np.random.choice(b,(3,2),p=b/np.sum(b))
Out[25]:
array([[144, 128],
[128, 169],
[172, 128]])
np.random的随机数函数(三)
uniform(low,high,size) #产生具有均匀分布的数组,low起始值,high结束值,size形状
normal(loc,scale,size) #产生具有正态分布的数组,loc均值,scale标准差,size形状
possion(lan,size) #产生具有泊松分布的数组,lam随机事件发生率,size形状
*参考资料:北京理工大学嵩天老师教学视频
*选择自己要走的路