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实现抓取页面上链接的简单爬虫分享
Jan 21 Python
Python:Scrapy框架中Item Pipeline组件使用详解
Dec 27 Python
python主线程捕获子线程的方法
Jun 17 Python
python去除文件中重复的行实例
Jun 29 Python
使用Python创建简单的HTTP服务器的方法步骤
Apr 26 Python
python 反编译exe文件为py文件的实例代码
Jun 27 Python
python 返回一个列表中第二大的数方法
Jul 09 Python
python子线程退出及线程退出控制的代码
Oct 16 Python
Pandas读取csv时如何设置列名
Jun 02 Python
opencv之颜色过滤只留下图片中的红色区域操作
Jun 05 Python
python 模拟登录B站的示例代码
Dec 15 Python
如何编写python的daemon程序
Jan 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
php将时间差转换为字符串提示
2011/09/07 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
php注册登录系统简化版
2020/12/28 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
2013/05/15 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
[原创]推荐10款最热门jQuery UI框架
2014/08/19 Javascript
jquery表单验证需要做些什么
2015/11/17 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
js实现登录框鼠标拖拽效果
2017/03/09 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
2019/07/23 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
JS实现放大镜效果
2020/09/21 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
python多线程抓取天涯帖子内容示例
2014/04/03 Python
深入讲解Python编程中的字符串
2015/10/14 Python
详解Python中的文件操作
2016/08/28 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
Python中装饰器学习总结
2018/02/10 Python
分分钟入门python语言
2018/03/20 Python
flask 实现token机制的示例代码
2019/11/07 Python
python数据化运营的重要意义
2019/11/25 Python
python保留格式汇总各部门excel内容的实现思路
2020/06/01 Python
Keras搭建自编码器操作
2020/07/03 Python
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
中学生运动会入场词
2014/02/12 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
财政局个人年终总结
2015/03/03 职场文书