numpy 学习汇总2-np.random随机函数 tcy
发布日期:2021-06-29 14:46:35 浏览次数:2 分类:技术文章

本文共 3183 字,大约阅读时间需要 10 分钟。

 np.random函数 2018/11/11# random模块对Python 内置random进行补充,增加多种概率分布样本值函数。==================================================================1.np.random.seed(int or 1D)#随机数生成器的种子# 当设置相同seed每次生成随机数相同。不设置每次生成不同随机数# 实例:np.random.rand(2)# array([0.90784657, 0.36735227])np.random.rand(2)# array([0.17940242, 0.40395781])#每次生成随机数不同np.random.seed(6)np.random.rand(2)# array([ 0.39983389, 0.29426895 ])np.random.seed(6)# 生成随机数相同np.random.rand(2)# array([ 0.39983389, 0.29426895 ])==================================================================2.从给定范围[low,high)随机选取整数np.random.randint(low, high=None, size=None, dtype='I')#从给定范围[low,high)随机选取整数# 参数: low最小值. high最大值;缺省[0,low). size=i,n,m数组维度. dtype默认数据类型np.int# 无size参数返回标量,否则哪怕=1也返回数组# 实例:np.random.randint(10) # 等价于np.random.randint(0,10) # int 4np.random.randint(0,10,size=2) # array([3, 4])np.random.randint(0,10,size=(2,)) # array([4, 0])np.random.randint(0,10,size=(2,2)) # array([[4, 2],[1, 6]])np.random.randint(0,10,size=(2,2,2)) # array([[[5, 7],[0, 2]],[[5, 0], [6, 7]]])===================================================================3.生成[0,1)之间的浮点数np.random.random_sample(size=None)#连续均匀分布样本的随机数np.random.random(size=None) #连续统一分布随机数np.random.ranf(size=None) #连续统一分布随机数np.random.sample(size=None) #连续统一分布样本随机数# 实例np.random.random_sample(size=(2, 2))# array([[0.8626287 , 0.33364515], [0.24693522, 0.16184619]])===================================================================4.rand/randn生成[0,1)间随机数np.random.rand([i],[n],[m]) # 根据给定shpae的int值生成[0,1)间数据np.random.randn([i],[n],[m]) # 正态分布均值0 标准差1 的样本值,类似rand# 实例:np.random.rand() # float 0.0689791313945175np.random.rand(2) # shape(2,) array([0.63512723, 0.11450088])np.random.rand(2,2) # shape(2,2) array([[0.83001241, 0.47520661],[0.57485929, 0.57862025]])np.random.rand(2,2,2)# shape(2,2,2)===================================================================5.标准正态分布随机数np.random.normal(loc=0.0, scale=1.0, size=None) #标准正态分布随机数#loc均值,scale标准差# 实例:mu, sigma = 0, 0.1 # 平均值和标准差s = np.random.normal(mu, sigma, 1000)# 验证均值和标准差:mu,np.mean(s) #(0, 0.00012892289536839242)sigma,np.std(s, ddof=1) #(0.1, 0.1000659386251403)====================================================================6. 从给定的一维数组中生成随机样本np.random.choice(a, size=None, replace=True, p=None)# 参数:# 1) a为1D或int;如a为整数对应一维数组为np.arange(a)# 2) size为数组维度;# 3) p为数组中数据出现的概率;a为数组len(p)=len(a),sum(p)=1# 实例1:a=intnp.random.choice(5,3) # array([4, 1, 4])相当于np.random.randint(0,5,3)np.random.choice(5, size=(3, 2)) # array([[1, 0],[4, 2],[3, 3]])np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])#生成非均匀随机样本array([3, 3, 0])np.random.choice(5, 3, replace=False) #生成一个均匀的随机样本array([3,1,0])# replace=False生成随机数不能有重复值 - # 相当于np.random.permutation(np.arange(5))[:3]# 实例2:a=np.arraya = ['s1', 's2','s3','s4', 's5']np.random.choice(a,size=(3,3))# array([['s3', 's1', 's5'], ['s1', 's5', 's5'], ['s3', 's1', 's2']], dtype='
 附录:参考函数
No 函数 说明
1 seed 确定随机数生成器的种子
2 permutation 返回一个序列的随机排列或返回一个随机排列的范围
3 shuffle 对一个序列就地随机排列
4 rand 产生均匀分布的样本值
5 randint 从给定的上下限范围内随机选取整数
6 randn 产生正态分布均值0 标准差1 的样本值
7 binomial 产生二项分布的样本值
8 normal 产生正态(高斯)分布的样本值
9 beta 产生Beta分布的样本值
10 chisquare 产生卡方分布的样本值
11 gamma 产生Gamma分布的样本值
12 uniform 产生在[0, 1 )中均匀分布的样本值

转载地址:https://chunyou.blog.csdn.net/article/details/83961601 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python 学习汇总1:文件读写 tcy
下一篇:numpy 学习汇总8-集合运算 tcy

发表评论

最新留言

不错!
[***.144.177.141]2024年04月13日 06时41分19秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章