numpy中生成随机数的几种常用函数(小结)


Posted in Python onAugust 18, 2020

1、使用numpy生成随机数的几种方式

numpy中生成随机数的几种常用函数(小结)

1)生成指定形状的0-1之间的随机数:np.random.random()和np.random.rand()

array1 = np.random.random((3))
display(array1)
# -----------------------------------
array2 = np.random.random((3,4))
display(array2)
# -----------------------------------
array3 = np.random.rand(3)
display(array3)
# -----------------------------------
array4 = np.random.rand(2,3)
display(array4)

① 操作如下

numpy中生成随机数的几种常用函数(小结)

numpy中生成随机数的几种常用函数(小结)

② 区别如下

numpy中生成随机数的几种常用函数(小结)

2)生成指定数值范围内的随机整数:np.random.randint()

numpy中生成随机数的几种常用函数(小结)

① 操作如下

array9 = np.random.randint(low=1, high=10, size=6, dtype=np.int32)
display(array9)
# ---------------------------------------------------------
array10 = np.random.randint(low=1, high=10, size=(2,3), dtype=np.int64)
display(array10)
# ---------------------------------------------------------
array11 = np.random.randint(low=1, high=10, size=(2,3,4), dtype=np.int32)
display(array11)

② 结果如下

numpy中生成随机数的几种常用函数(小结)

3)与正态分布有关的几个随机函数:np.random.randn()和np.random.normal()

  • np.random.randn 生成服从均值为0,标准差为1的标准正态分布随机数;
  • np.random.normal 生成指定均值和标准差的正态分布随机数;
array5 = np.random.randn(3)
display(array5)
# ---------------------------------------------
array6 = np.random.randn(2,3)
display(array6)
# ---------------------------------------------
array7 = np.random.normal(loc=2,scale=0.5,size=6)
display(array7)
# ---------------------------------------------
array8 = np.random.normal(loc=2,scale=0.5,size=6).reshape(2,3)
display(array8)

① 结果如下

numpy中生成随机数的几种常用函数(小结)

② 区别如下

numpy中生成随机数的几种常用函数(小结)

4)均匀分布随机函数:np.random.uniform()

用法:生成指定范围内的服从均匀分布的随机数;

array11 = np.random.uniform(1,10,5)
display(array11)
# ---------------------------------
array12 = np.random.uniform(1,10,(2,3))
display(array12)

① 结果如下

numpy中生成随机数的几种常用函数(小结)

5)np.random.seed():按照种子来生成随机数,种子一样,则生成的随机数结果必一致

numpy中生成随机数的几种常用函数(小结)

① 操作如下

np.random.seed(3)
a = np.random.rand(3)
display(a)
np.random.seed(3)
b = np.random.rand(3)
display(b)
# --------------------------
np.random.seed()
a = np.random.rand(3)
display(a)
np.random.seed()
b = np.random.rand(3)
display(b)

② 结果如下

numpy中生成随机数的几种常用函数(小结)

6)np.random.shuffle():打乱数组元素顺序(原地操作数组)

c = np.arange(10)
display(c)
np.random.shuffle(c)
display(c)

① 结果如下

numpy中生成随机数的几种常用函数(小结)

7)np.random.choice():按照指定概率从指定数组中,生成随机数;

① np.random.choice()函数的用法说明

d = np.random.choice([1,2,3,4], p=[0.1, 0.2, 0.3, 0.4])
display(d)

说明:上述函数第一个参数表示的是数组,第二个参数表示的是概率值。上述函数的含义是当进行n多次重复实验的时候,抽取1的概率为0.1,抽取2的概率为0.2,抽取3的概率为0.3,抽取4的概率为0.4。

② 结果如下

numpy中生成随机数的几种常用函数(小结)

③ 随即进行10000次重复实验,检测每一个数,被抽取到的概率

list1 = [0,0,0,0]
for i in range(100000):
  f = np.random.choice([1,2,3,4], p=[0.1, 0.2, 0.3, 0.4])
  list1[f-1] = list1[f-1] + 1
display(list1)

result_list = [value/sum(list1) for value in list1]
display(result_list)

④ 结果如下

numpy中生成随机数的几种常用函数(小结)

⑤ 模拟进行100000次掷硬币重复实验,检测每一面,被抽取到的概率

list1 = [0,0]
for i in range(100000):
  f = np.random.choice([0,1], p=[0.5,0.5])
  list1[f] = list1[f] + 1
display(list1)

result_list = [value/sum(list1) for value in list1]
display(result_list)

⑥ 结果如下

numpy中生成随机数的几种常用函数(小结)

到此这篇关于numpy中生成随机数的几种常用函数(小结)的文章就介绍到这了,更多相关numpy 生成随机数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python使用面向对象方式创建线程实现12306售票系统
Dec 24 Python
Python常见异常分类与处理方法
Jun 04 Python
Python编程之Re模块下的函数介绍
Oct 28 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
Feb 22 Python
一文了解Python并发编程的工程实现方法
May 31 Python
Python实现K折交叉验证法的方法步骤
Jul 11 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
Oct 18 Python
通过实例简单了解Python中yield的作用
Dec 11 Python
django框架基于queryset和双下划线的跨表查询操作详解
Dec 11 Python
如何让PyQt5中QWebEngineView与JavaScript交互
Oct 21 Python
python+selenium小米商城红米K40手机自动抢购的示例代码
Mar 24 Python
利用Python第三方库实现预测NBA比赛结果
Jun 21 Python
在 Python 中使用 MQTT的方法
Aug 18 #Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 #Python
Python 处理日期时间的Arrow库使用
Aug 18 #Python
python七种方法判断字符串是否包含子串
Aug 18 #Python
Python使用socket模块实现简单tcp通信
Aug 18 #Python
python 浮点数四舍五入需要注意的地方
Aug 18 #Python
Python filter过滤器原理及实例应用
Aug 18 #Python
You might like
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
2019/09/02 PHP
javascript中对对层的控制
2006/12/29 Javascript
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
优化Node.js Web应用运行速度的10个技巧
2014/09/03 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
vue 实现websocket发送消息并实时接收消息
2019/12/09 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
python Django框架实现自定义表单提交
2016/03/25 Python
python实现随机梯度下降(SGD)
2020/03/24 Python
Python制作词云的方法
2018/01/03 Python
Python3实现转换Image图片格式
2018/06/21 Python
使用python3构建文件传输的方法
2019/02/13 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
python编写猜数字小游戏
2019/10/06 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
策划助理岗位职责
2013/11/18 职场文书
个人能力自我鉴赏
2014/01/25 职场文书
临床护理求职信
2014/04/26 职场文书
2014财务年度工作总结
2014/11/11 职场文书
公司团队口号霸气押韵
2015/12/24 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB