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使用迭代器打印螺旋矩阵的思路及代码示例
Jul 02 Python
python生成词云的实现方法(推荐)
Jun 13 Python
pytorch 数据集图片显示方法
Jul 26 Python
Python常用爬虫代码总结方便查询
Feb 25 Python
Python 使用type来定义类的实现
Nov 19 Python
Django后台管理系统的图文使用教学
Jan 20 Python
PyQt5实现登录页面
May 30 Python
Django Form设置文本框为readonly操作
Jul 03 Python
2020版Python学习路线图(附学习资料)
Sep 15 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 Python
Python中Pyspider爬虫框架的基本使用详解
Jan 27 Python
python 标准库原理与用法详解之os.path篇
Oct 24 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
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
PHP数据库操作二:memcache用法分析
2017/08/16 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
2019/02/15 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
javascript innerText和innerHtml应用
2010/01/28 Javascript
最常用的12种设计模式小结
2011/08/09 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
使用Vue实现一个树组件的示例
2020/11/06 Javascript
Python urls.py的三种配置写法实例详解
2017/04/28 Python
python3获取当前文件的上一级目录实例
2018/04/26 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
python默认参数调用方法解析
2020/02/09 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
YSL圣罗兰美妆官方旗舰店:购买YSL口红
2018/04/16 全球购物
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
PHP如何与mysql建立链接
2013/05/05 面试题
群众路线问题查摆对照检查材料
2014/10/04 职场文书
家庭财产分割协议书范本
2014/11/24 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书
2015年电教工作总结
2015/05/26 职场文书
关于公司年会的开幕词
2016/03/04 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书
小程序实现文字循环滚动动画
2021/06/14 Javascript