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简单实现刷新智联简历
Mar 30 Python
Python提取网页中超链接的方法
Sep 18 Python
Python入门之后再看点什么好?
Mar 05 Python
Python 查找字符在字符串中的位置实例
May 02 Python
Python 实现两个列表里元素对应相乘的方法
Nov 14 Python
学习python的前途 python挣钱
Feb 27 Python
python使用Paramiko模块实现远程文件拷贝
Apr 30 Python
Pycharm新手教程(只需要看这篇就够了)
Jun 18 Python
python中树与树的表示知识点总结
Sep 14 Python
详解从Django Allauth中进行登录改造小结
Dec 18 Python
Python3 实现爬取网站下所有URL方式
Jan 16 Python
python3将变量写入SQL语句的实现方式
Mar 02 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中将汉字转换成拼音的函数代码
2012/09/08 PHP
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
迅速确定php多维数组的深度的方法
2014/01/07 PHP
php类的定义与继承用法实例
2015/07/07 PHP
PHP中的self关键字详解
2019/06/23 PHP
javascript写的一个链表实现代码
2009/10/25 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
jquery 选择器引擎sizzle浅析
2013/02/06 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
jquery导航制件jquery鼠标经过变色效果示例
2013/12/05 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
分析JS单线程异步io回调的特性
2017/12/01 Javascript
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
python单线程实现多个定时器示例
2014/03/30 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
Python字符串对象实现原理详解
2019/07/01 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
机电一体化专业应届生求职信
2013/11/27 职场文书
直接有效的自我评价
2014/01/11 职场文书
大学生校园创业计划书
2014/02/08 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
技校毕业生自荐书
2014/05/23 职场文书
北京故宫的导游词
2015/01/31 职场文书
建房合同协议书
2016/03/21 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android