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之玩转字符串(2)更新篇
Sep 28 Python
按日期打印Python的Tornado框架中的日志的方法
May 02 Python
详解python3百度指数抓取实例
Dec 12 Python
python中如何使用朴素贝叶斯算法
Apr 06 Python
Python命令行解析模块详解
Feb 01 Python
Python实现的线性回归算法示例【附csv文件下载】
Dec 29 Python
对python dataframe逻辑取值的方法详解
Jan 30 Python
python sqlite的Row对象操作示例
Sep 11 Python
使用python求解二次规划的问题
Feb 29 Python
python函数map()和partial()的知识点总结
May 26 Python
python 读取.nii格式图像实例
Jul 01 Python
详解MindSpore自定义模型损失函数
Jun 30 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
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
Vue分页效果与购物车功能
2019/12/13 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
解读Django框架中的低层次缓存API
2015/07/24 Python
linux环境下python中MySQLdb模块的安装方法
2017/06/16 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
大学四年学习的自我评价分享
2013/12/09 职场文书
证婚人搞笑证婚词
2014/01/10 职场文书
企业管理毕业生求职信范文
2014/03/07 职场文书
投标担保书范文
2014/04/02 职场文书
法制宣传日活动总结
2014/04/29 职场文书
三八节标语
2014/06/27 职场文书
2014年“四风”问题个人整改措施
2014/09/17 职场文书
2014年驾驶员工作总结
2014/11/18 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python