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计算最小优先级队列代码分享
Dec 18 Python
Python中使用logging模块打印log日志详解
Apr 05 Python
浅析Python中的for 循环
Jun 09 Python
简单了解OpenCV是个什么东西
Nov 10 Python
python用户管理系统的实例讲解
Dec 23 Python
Python使用pyodbc访问数据库操作方法详解
Jul 05 Python
深入浅析Python2.x和3.x版本的主要区别
Nov 30 Python
python如何获取当前文件夹下所有文件名详解
Jan 25 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
Apr 04 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
keras输出预测值和真实值方式
Jun 27 Python
提高python代码运行效率的一些建议
Sep 29 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
无线电广播与收音机发展的历史回眸
2021/03/02 无线电
zend api扩展的php对象的autoload工具
2011/04/18 PHP
Windows下利用Gvim写PHP产生中文乱码问题解决方法
2011/04/20 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
PHP数组操作类实例
2015/07/11 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
js实现的标题栏新消息闪烁提示效果
2014/06/06 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
Vue数据监听方法watch的使用
2018/03/28 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
Python中的高级函数map/reduce使用实例
2015/04/13 Python
举例讲解Python中装饰器的用法
2015/04/27 Python
python实现求特征选择的信息增益
2018/12/18 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
严选全球尖货,立足香港:Bonpont宝盆
2018/07/24 全球购物
英国鞋网:Rubber Sole
2020/03/03 全球购物
十佳青年个人事迹材料
2014/01/28 职场文书
会议邀请书范文
2014/02/02 职场文书
品质主管岗位职责
2014/03/16 职场文书
保护校园环境倡议书
2015/04/28 职场文书
2015年感恩父亲节活动策划方案
2015/05/05 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
主婚人致辞精选
2015/07/28 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
Redis实现短信验证码登录的示例代码
2022/06/14 Redis