numpy之随机数模块---random模块

匿名 (未验证) 提交于 2019-12-02 23:47:01

一、二项分布

'''     随机数:模块为random模块---生成服从特定统计规律的随机数序列         1.二项分布(binomial):就是重复n次的伯努利实验,每次实验只有两种可能的结果,而且两种结果发生与否相互独立。                             事件发生与否的概率在每次实验中都是保持不变的                 ----numpy中实现:np.random.binomial(n,p,size)-->产生size个随机数,符合二项分布,                                 每个随机数来自n次尝试中成功的次数,其中每次尝试成功的概率为p ''' import numpy as np  r = np.random.binomial(10, 0.8, 1) print(r)  # 求:命中率0.8时,投10球进8球的概率、 # 投100000轮看看有多少轮进了10个球 r = np.random.binomial(10, 0.8, 100000) print(r[r == 8].size / r.size) print((r == 0).sum()/r.size) print((r == 1).sum()/r.size) print((r == 2).sum()/r.size) print((r == 3).sum()/r.size) print((r == 4).sum()/r.size) print((r == 5).sum()/r.size) print((r == 6).sum()/r.size) print((r == 7).sum()/r.size) print((r == 8).sum()/r.size) print((r == 9).sum()/r.size) print((r == 10).sum()/r.size)   输出结果:  [8] 0.30189 0.0 1e-05 7e-05 0.00087 0.00557 0.02729 0.08732 0.20028 0.30189 0.26913 0.10757

二、其他

  

''' 正态分布(normal)         ----numpy中实现:             标准正态分布:np.random.normal(size)-->随机生成一组符合标准正态分布的随机数,期望为0,标准差为1             一般正态分布:np.random.normal(μ,σ,size)-->随机生成一组服从正态分布的随机数,期望为μ,标准差为σ 平均分布(uniform):         ----numpy中实现:             np.random.uniform(n1,n2,size)-->产生size个随机数,服从平均分布[n1,n2] 超几何分布(hypergeometric):         ----numpy中实现:             np.random.hypergeometric(ngood,nbad,nsample,size)-->产生size个随机数,每个随机数为在总样本中随机抽取             nsample个样本后好样本的个数。所有样本由ngood个好样本和nbad个坏样本组成。 ''' import numpy as np  # 超几何分布,7个好的3个坏的,摸3个,重复10次,返回好球的个数组成的数组 r = np.random.hypergeometric(7, 3, 3, 10) print(r)   运行结果: [2 1 3 3 2 2 3 3 2 2]

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!