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 sys.argv用法实例
May 28 Python
matplotlib简介,安装和简单实例代码
Dec 26 Python
python模仿网页版微信发送消息功能
Feb 24 Python
Pandas中把dataframe转成array的方法
Apr 13 Python
python+selenium实现QQ邮箱自动发送功能
Jan 23 Python
python装饰器常见使用方法分析
Jun 26 Python
Python在Matplotlib图中显示中文字体的操作方法
Jul 29 Python
Python 使用 docopt 解析json参数文件过程讲解
Aug 13 Python
Python实现快速排序的方法详解
Oct 25 Python
python返回数组的索引实例
Nov 28 Python
浅谈Python描述数据结构之KMP篇
Sep 06 Python
python 通过exifread读取照片信息
Dec 24 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中判断变量为空的几种方法小结
2013/11/12 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
php中执行系统命令的方法
2015/03/21 PHP
任意位置显示html菜单
2007/02/01 Javascript
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
避免 showModalDialog 弹出新窗体的原因分析
2010/05/31 Javascript
prettify 代码高亮着色器google出品
2010/12/28 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
2013/04/02 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
Vue.js系列之项目结构说明(2)
2017/01/03 Javascript
基于Vue实现图书管理功能
2017/10/17 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
python根据出生日期返回年龄的方法
2015/03/26 Python
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
2018/07/09 Python
python实现括号匹配的思路详解
2018/08/23 Python
python 自动轨迹绘制的实例代码
2019/07/05 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
如何利用Python开发一个简单的猜数字游戏
2019/09/22 Python
python统计字符的个数代码实例
2020/02/07 Python
Python dict和defaultdict使用实例解析
2020/03/12 Python
用Python在Excel里画出蒙娜丽莎的方法示例
2020/04/28 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
什么是数组名
2012/05/10 面试题
实习自我鉴定模板
2013/09/28 职场文书
会计专业毕业自荐书范文
2014/02/08 职场文书
委托书如何写
2014/08/30 职场文书
学习优秀党务工作者先进事迹材料思想报告
2014/09/17 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
艺术节开幕词
2015/01/28 职场文书
清洁员岗位职责
2015/02/15 职场文书
十二生肖观后感
2015/06/12 职场文书
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python