python numpy 常用随机数的产生方法的实现


Posted in Python onAugust 21, 2019

numpy 中 的random模块有多个函数用于生成不同类型的随机数,常见的有 uniform、rand、random、randint、random_interges

下面介绍一下各自的用法

1、np.random.uniform的用法

np.random.uniform(low=0.0, high=1.0, size=None)

作用:可以生成[low,high)中的随机数,可以是单个值,也可以是一维数组,也可以是多维数组

参数介绍:

  • low :float型,或者是数组类型的,默认为0
  • high:float型,或者是数组类型的,默认为1
  • size:int型,或元组,默认为空
In[1]: import numpy as np

In[2]: np.random.uniform() # 默认为0到1
Out[2]: 0.827455693512018

In[3]: np.random.uniform(1,5)
Out[3]: 2.93533586182789

In[4]: np.random.uniform(1,5,4) #生成一维数组
Out[4]: array([ 3.18487512, 1.40233721, 3.17543152, 4.06933042])

In[5]: np.random.uniform(1,5,(4,3)) #生成4x3的数组
Out[5]: 
array([[ 2.33083328, 1.592934 , 2.38072  ],
    [ 1.07485686, 4.93224857, 1.42584919],
    [ 3.2667912 , 4.57868281, 1.53218578],
    [ 4.17965117, 3.63912616, 2.83516143]])

In[6]: np.random.uniform([1,5],[5,10]) 
Out[6]: array([ 2.74315143, 9.4701426 ])

2、np.random.random_sample的用法

和np.random.random作用一样

random_sample(size=None)

- 作用:返回[0,1)之间的浮点型随机数,通过size控制返回的形状

np.random.random_sample()
  0.47108547995356098
type(np.random.random_sample())
  <type 'float'>
np.random.random_sample((5,))
  array([ 0.30220482, 0.86820401, 0.1654503 , 0.11659149, 0.54323428])

  Three-by-two array of random numbers from [-5, 0):

5 * np.random.random_sample((3, 2)) - 5
  array([[-3.99149989, -0.52338984],
      [-2.99091858, -0.79479508],
      [-1.23204345, -1.75224494]])

3、np.random.rand的用法

rand(d0, d1, …, dn)

作用:返回[0,1)内的浮点数,输入的d0,d1…dn代表维度信息,没有输入时,则返回[0,1)内的一个随机值

In[15]: np.random.rand()
Out[15]: 0.9027797355532956

In[16]:np.random.rand(3,3)
Out[16]: 
array([[ 0.47507608, 0.64225621, 0.9926529 ],
    [ 0.95028412, 0.18413813, 0.91879723],
    [ 0.89995217, 0.42356103, 0.81312942]])

In[17]: np.random.rand(3,3,3)
Out[17]: 
array([[[ 0.30295904, 0.76346848, 0.33125168],
    [ 0.77845927, 0.75020602, 0.84670385],
    [ 0.2329741 , 0.65962263, 0.93239286]],

    [[ 0.24575304, 0.9019242 , 0.62390674],
    [ 0.43663215, 0.93187574, 0.75302239],
    [ 0.62658734, 0.01582182, 0.66478944]],

    [[ 0.22152418, 0.51664503, 0.41196781],
    [ 0.47723318, 0.19248885, 0.29699868],
    [ 0.11664651, 0.66718804, 0.39836448]]])

4、np.random.randint的用法

randint(low, high=None, size=None, dtype='l')

作用:生成整型随机数,可以是单个随机数,也可以是多维的随机数构成的数组

参数介绍

  • low:int 型,随机数的下限
  • high:int 型,默认为空,随机数的上限,当此值为空时,函数生成[0,low)区间内的随机数
  • size:int、或ints、或元组,指明生成的随机数的类型
  • dtype:可选'int' ,'int32',默认为'l'
In[7]: np.random.randint(4)
Out[7]: 1

In[8]: np.random.randint(4,size=4)
Out[8]: array([2, 2, 2, 0])

In[9]: np.random.randint(4,10,size=6)
Out[9]: array([7, 9, 7, 8, 6, 9])

np.random.randint(4,10,size=(2,2),dtype='int32')
Out[10]: 
array([[7, 4],
    [6, 9]])

5、np.random.random_integers的用法

random_integers(low, high=None, size=None)

和randint的用法较为相似,区别在于[low,high]

的右边界能够取到,且改函数即将被抛弃,可以使用

np.random.randint(low,high+1)进行代替

总结:随机数可以分为两大类,一类是浮点型的,常以np.random.uniform为代表,np.random.rand,np.random.radnom和np.random.random_simple可以看作是np.random.uniform的特例;另一类是整数型的,以np.random.randint为代表,也有np.random.random_integers 但是后者将被前者取代

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python转换HTML到Text纯文本的方法
Jan 15 Python
python通过yield实现数组全排列的方法
Mar 18 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
Feb 19 Python
通过源码分析Python中的切片赋值
May 08 Python
Python文件读写常见用法总结
Feb 22 Python
如何在Django项目中引入静态文件
Jul 26 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
Aug 06 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
Sep 06 Python
Python中私有属性的定义方式
Mar 05 Python
Python 制作查询商品历史价格的小工具
Oct 20 Python
Python操作word文档插入图片和表格的实例演示
Oct 25 Python
python之np.argmax()及对axis=0或者1的理解
Jun 02 Python
在django模板中实现超链接配置
Aug 21 #Python
python爬虫 批量下载zabbix文档代码实例
Aug 21 #Python
Django 在iframe里跳转顶层url的例子
Aug 21 #Python
Python产生一个数值范围内的不重复的随机数的实现方法
Aug 21 #Python
django写用户登录判定并跳转制定页面的实例
Aug 21 #Python
Django自定义模板过滤器和标签的实现方法
Aug 21 #Python
扩展Django admin的list_filter()可使用范围方法
Aug 21 #Python
You might like
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
php mysql操作mysql_connect连接数据库实例详解
2016/12/26 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
javascript动态加载实现方法一
2012/08/22 Javascript
jquery查找tr td 示例模拟
2014/05/08 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
Bootstrap轮播插件简单使用方法介绍
2016/06/21 Javascript
layui导航栏实现代码
2017/05/19 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
vue中$nextTick的用法讲解
2019/01/17 Javascript
详解js 创建对象的几种方法
2019/03/08 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
在vue中使用vant TreeSelect分类选择组件操作
2020/11/02 Javascript
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
[53:15]Newbee vs Pain 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中的random()方法的使用介绍
2015/05/15 Python
python发送邮件功能实现代码
2016/07/15 Python
python ddt实现数据驱动
2018/03/14 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
关于Python3爬虫利器Appium的安装步骤
2020/07/29 Python
Python趣味入门教程之循环语句while
2020/08/26 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
二年级学生评语大全
2014/04/23 职场文书
2014年科协工作总结
2014/12/09 职场文书
财务工作个人总结
2015/02/27 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
MySQL慢查询的坑
2021/04/28 MySQL