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 相关文章推荐
利用ctypes提高Python的执行速度
Sep 09 Python
Python selenium 三种等待方式解读
Sep 15 Python
python版学生管理系统
Jan 10 Python
python实现关键词提取的示例讲解
Apr 28 Python
在pycharm下设置自己的个性模版方法
Jul 15 Python
Tensorflow的常用矩阵生成方式
Jan 04 Python
Django websocket原理及功能实现代码
Nov 14 Python
python中函数返回多个结果的实例方法
Dec 16 Python
Python实现王者荣耀自动刷金币的完整步骤
Jan 22 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
Feb 07 Python
Python进行区间取值案例讲解
Aug 02 Python
python 中的jieba分词库
Nov 23 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 程序员也要学会使用“异常”
2009/06/16 PHP
php面向对象 字段的声明与使用
2012/06/14 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
Laravel框架查询构造器 CURD操作示例
2019/09/04 PHP
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
2011/10/23 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
js禁止页面刷新与后退的方法
2015/06/08 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
Easyui Treegrid改变默认图标的方法
2016/04/29 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
利用ES6实现单例模式及其应用详解
2017/12/09 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
简单谈谈javascript高级特性
2019/09/04 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
Python函数学习笔记
2008/10/07 Python
Python脚本实现集群检测和管理功能
2015/03/06 Python
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
python爬取各类文档方法归类汇总
2018/03/22 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
如何设置Java的运行环境
2013/04/05 面试题
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
服装设计行业个人的自我评价
2013/12/20 职场文书
演讲稿开场白
2014/01/13 职场文书
股东授权委托书
2014/10/15 职场文书
新员工入职感想
2015/08/07 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
2019入党申请书格式
2019/06/25 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书
浅析MongoDB之安全认证
2021/06/26 MongoDB