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实现将n个点均匀地分布在球面上的方法
Mar 12 Python
Python中字符串对齐方法介绍
May 21 Python
Python运算符重载详解及实例代码
Mar 07 Python
python和ruby,我选谁?
Sep 13 Python
Python2/3中urllib库的一些常见用法
Dec 19 Python
浅谈python中requests模块导入的问题
May 18 Python
详解Python 协程的详细用法使用和例子
Jun 15 Python
python使用minimax算法实现五子棋
Jul 29 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
python连接mysql有哪些方法
Jun 24 Python
python 第三方库paramiko的常用方式
Feb 20 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结合飞信 免费天气预报短信
2009/05/07 PHP
php curl 伪造IP来源的实例代码
2012/11/01 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
2019/03/01 PHP
Yii2 queue的队列使用详解
2019/07/19 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
js 颜色选择器(兼容firefox)
2009/03/05 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
2016/09/04 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
基于JavaScript表单脚本(详解)
2017/10/18 Javascript
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
浅析vue插槽和作用域插槽的理解
2019/04/22 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
python类型强制转换long to int的代码
2013/02/10 Python
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
在Pycharm中使用GitHub的方法步骤
2019/06/13 Python
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
三好学生演讲稿范文
2014/04/26 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
汽车转让协议书
2015/01/29 职场文书
2015暑期社会实践通讯稿
2015/07/18 职场文书
2015年初中教师个人工作总结
2015/07/21 职场文书
2016年会领导致辞稿
2015/07/29 职场文书