当前位置: 首页 > news >正文

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

一、二项分布

'''
    随机数:模块为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]

 

转载于:https://www.cnblogs.com/yuxiangyang/p/11175407.html

相关文章:

  • 准备在博客园安家,在这里分享知识
  • glib 关系
  • Spark 1.1.0 安装测试 (分布式 Yarn-cluster模式)
  • 唐僧给悟空的信
  • JS 操作页面基础操作:禁止另存 防止复制 防止选择
  • [转] 浅谈 MVC3 WebMail 发送邮件
  • 检查android设备是否支持某些功能
  • View Controller 容器
  • 详解HTTP协议(二)
  • 网站优化过程中关键字选择的六大项
  • HIbernate的“1+N”问题
  • 剑指Offer——二叉树的深度
  • 匈牙利算法求解任务分配问题
  • asp.net 各种小窍门
  • 开源协议的比较
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • Brief introduction of how to 'Call, Apply and Bind'
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • MQ框架的比较
  • react 代码优化(一) ——事件处理
  • TypeScript迭代器
  • 阿里研究院入选中国企业智库系统影响力榜
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 由插件封装引出的一丢丢思考
  • #NOIP 2014#Day.2 T3 解方程
  • (Java数据结构)ArrayList
  • (solr系列:一)使用tomcat部署solr服务
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (八)Spring源码解析:Spring MVC
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转) Android中ViewStub组件使用
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Framework 服务实现监控可观测性最佳实践
  • .net 调用php,php 调用.net com组件 --
  • .net 受管制代码
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • ::前边啥也没有
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • @基于大模型的旅游路线推荐方案
  • []sim300 GPRS数据收发程序
  • [BZOJ1053][HAOI2007]反素数ant
  • [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组)
  • [C]整形提升(转载)
  • [C语言]——函数递归
  • [Docker]六.Docker自动部署nodejs以及golang项目
  • [Erlang 0129] Erlang 杂记 VI 2014年10月28日
  • [ESP32 IDF]web server
  • [Flutter]设置应用包名、名称、版本号、最低支持版本、Icon、启动页以及环境判断、平台判断和打包
  • [hdu 4405] Aeroplane chess [概率DP 期望]
  • [IE9] GPU硬件加速到底是实用创新还是噱头
  • [Invalid postback or callback argument]昨晚调试程序时出现的问题,MARK一下