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连接mssql数据库编码问题解决方法
Jan 01 Python
简单介绍Python的Tornado框架中的协程异步实现原理
Apr 23 Python
Python中Collections模块的Counter容器类使用教程
May 31 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 Python
python 从文件夹抽取图片另存的方法
Dec 04 Python
分享Python切分字符串的一个不错方法
Dec 14 Python
pandas去重复行并分类汇总的实现方法
Jan 29 Python
django框架模板中定义变量(set variable in django template)的方法分析
Jun 24 Python
python 实现list或string按指定分段
Dec 25 Python
python各层级目录下import方法代码实例
Jan 20 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
Dec 16 Python
Python&Matlab实现樱花的绘制
Apr 07 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
一个高ai的分页函数和一个url函数
2006/10/09 PHP
php 中英文语言转换类代码
2011/08/11 PHP
php遍历数组的方法分享
2012/03/22 PHP
解析php addslashes()与addclashes()函数的区别和比较
2013/06/24 PHP
PHP基于自增数据如何生成不重复的随机数示例
2017/05/19 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
javascript实现表格排序 编辑 拖拽 缩放
2015/01/02 Javascript
详解JavaScript正则表达式之分组匹配及反向引用
2016/03/09 Javascript
JavaScript中对象的不同创建方法
2016/08/12 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
Python中列表和元组的相关语句和方法讲解
2015/08/20 Python
Python连接phoenix的方法示例
2017/09/29 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
python requests指定出口ip的例子
2019/07/25 Python
python 初始化一个定长的数组实例
2019/12/02 Python
html5需遵循的6个设计原则
2016/04/27 HTML / CSS
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
简约控的天堂:The Undone
2016/12/21 全球购物
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
Kendra Scott官网:美国领先的时尚配饰品牌
2020/10/22 全球购物
往来会计岗位职责
2013/12/19 职场文书
师德师风建设整改措施思想汇报
2014/10/11 职场文书
2014年质量工作总结
2014/11/22 职场文书
2015年党员自评材料
2014/12/17 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
运动会宣传稿100字
2015/07/23 职场文书
新入职员工工作总结
2015/10/15 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技
安装Ruby和 Rails的详细步骤
2022/04/19 Ruby