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写的Discuz7.2版faq.php注入漏洞工具
Aug 06 Python
python实现linux下使用xcopy的方法
Jun 28 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
Oct 29 Python
python生成九宫格图片
Nov 19 Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 Python
python绘制BA无标度网络示例代码
Nov 21 Python
python3实现绘制二维点图
Dec 04 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 Python
python 元组和列表的区别
Dec 30 Python
python palywright库基本使用
Jan 21 Python
如何利用Matlab制作一款真正的拼图小游戏
May 11 Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
Jun 07 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
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
php 读取文件乱码问题
2010/02/20 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
javaScript事件机制兼容【详细整理】
2016/07/23 Javascript
angular实现IM聊天图片发送实例
2017/05/08 Javascript
详解js获取video任意时间的画面截图
2019/04/17 Javascript
vue实现移动端省市区选择
2019/09/27 Javascript
微信小程序通过websocket实时语音识别的实现代码
2020/08/19 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
python对象及面向对象技术详解
2016/07/19 Python
Python实现单词翻译功能
2017/06/06 Python
用Eclipse写python程序
2018/02/10 Python
Python3.6简单反射操作示例
2018/06/14 Python
Python 加密与解密小结
2018/12/06 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
python3图片文件批量重命名处理
2019/10/31 Python
Python和Sublime整合过程图示
2019/12/25 Python
高校学生干部的自我评价分享
2013/11/04 职场文书
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
离婚协议书格式范本
2016/03/18 职场文书
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android