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实现递归版汉诺塔示例(汉诺塔递归算法)
Apr 08 Python
使用C语言来扩展Python程序和Zope服务器的教程
Apr 14 Python
在Lighttpd服务器中运行Django应用的方法
Jul 22 Python
python实现爬虫统计学校BBS男女比例(一)
Dec 31 Python
Python3如何解决字符编码问题详解
Apr 23 Python
Python实现的个人所得税计算器示例
Jun 01 Python
Python 实现Windows开机运行某软件的方法
Oct 14 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
Apr 30 Python
浅析Python与Mongodb数据库之间的操作方法
Jul 01 Python
如何基于pythonnet调用halcon脚本
Jan 20 Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 Python
python利用datetime模块计算程序运行时间问题
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
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
php适配器模式简单应用示例
2019/10/23 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
jQuery $.get 的妙用 访问本地文本文件
2012/07/12 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
2015/10/06 Javascript
判断颜色是否合法的正则表达式(详解)
2017/05/03 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
js实现选项卡效果
2020/03/07 Javascript
vue中使用腾讯云Im的示例
2020/10/23 Javascript
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
Django自定义分页与bootstrap分页结合
2021/02/22 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
Python流程控制常用工具详解
2020/02/24 Python
使用python实现名片管理系统
2020/06/18 Python
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
德国机车企业:FC-Moto
2017/10/27 全球购物
Shopping happy life西班牙:以最优惠的价格提供最好的时尚配饰
2020/03/13 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
会议邀请书范文
2014/02/02 职场文书
护理专业毕业生自荐信
2014/06/15 职场文书
社区服务标语
2014/07/01 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
商务宴会祝酒词
2015/08/11 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
2016年情人节广告语
2016/01/28 职场文书
Python 可迭代对象 iterable的具体使用
2021/08/07 Python
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL