numpy.random.randn()与rand()的区别
发布日期:2021-10-07 11:13:32 浏览次数:4 分类:技术文章

本文共 1901 字,大约阅读时间需要 6 分钟。

1、numpy中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中。 

numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值。 
numpy.random.rand(d0, d1, …, dn)的随机样本位于[0, 1)中。 
代码:

import numpy as np arr1 = np.random.randn(2,4)print(arr1)print('******************************************************************')arr2 = np.random.rand(2,4)print(arr2)

结果

在使用Python进行数据处理时,往往需要用到大量的随机数据,那如何构造这么多数据呢?Python的第三方库numpy库中提供了random函数来实现这个功能。 

本文将根据官方文档以及其他博友的博客一起来谈论常见的random函数以及使用 

2、首先说下numpy.random.seed()与numpy.random.RandomState()这两个在数据处理中比较常用的函数,两者实现的作用是一样的,都是使每次随机生成数一样,具体可见下图

numpy.random.seed()

random.RandomState()

1.numpy.random.rand() 

官方文档中给出的用法是:numpy.random.rand(d0,d1,…dn) 
以给定的形状创建一个数组,并在数组中加入在[0,1]之间均匀分布的随机样本。 
用法及实现: 
这里写图片描述

2.numpy.random.randn() 

官方文档中给出的用法是:numpy.random.rand(d0,d1,…dn) 
以给定的形状创建一个数组,数组元素来符合标准正态分布N(0,1) 
若要获得一般正态分布这里写图片描述则可用sigma * np.random.randn(…) + mu进行表示 
用法及实现: 
这里写图片描述

3.numpy.random.randint() 

官方文档中给出的用法是:numpy.random.randint(low,high=None,size=None,dtype) 
生成在半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间变为[0,low) 
用法及实现 
high=None的情形 
这里写图片描述

high≠None 

这里写图片描述

4.numpy.random.random_integers() 

官方文档中给出的用法是: 
numpy.random.random_integers(low,high=None,size=None) 
生成闭区间[low,high]上离散均匀分布的整数值;若high=None,则取值区间变为[1,low] 
用法及实现 
high=None的情形 
这里写图片描述

high≠None的情形 

这里写图片描述

此外,若要将【a,b】区间分成N等分,也可以用此函数实现 

a+(b-a)*(numpy.random.random_integers(N)-1)/(N-1)

5.numpy.random_sanmple() 

官方文档中给出的用法是: 
numpy.random.random_sample(size=None) 
以给定形状返回[0,1)之间的随机浮点数 
用法及实现 
这里写图片描述

其他函数,numpy.random.random() ;numpy.random.ranf() 

numpy.random.sample()用法及实现都与它相同

6.numpy.random.choice() 

官方文档中给出的用法: 
numpy.random.choice(a,size=None,replace=True,p=None) 
若a为数组,则从a中选取元素;若a为单个int类型数,则选取range(a)中的数 
replace是bool类型,为True,则选取的元素会出现重复;反之不会出现重复 
p为数组,里面存放选到每个数的可能性,即概率 
用法及实现 
这里写图片描述

[[-1.03021018  0.5197033   0.52117459 -0.70102661] [ 0.98268569  1.21940697 -1.095241   -0.38161758]]******************************************************************[[ 0.19947349  0.05282713  0.56704222  0.45479972] [ 0.28827103  0.1643551   0.30486786  0.56386943]]

转载地址:https://blog.csdn.net/mingyuli/article/details/81260213 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:全概率公式和贝叶斯公式
下一篇:python中如何表示多维数组(即矩阵形式)

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年03月26日 00时01分17秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

mysql 设计两个主键都不可重复_程序员面试备战篇:18个经典MySQL面试专题解析(干货分享答案)... 2019-04-21
下列关于python2.x和3.x的区别说法正确_Python 2.x和Python 3.x版本有哪些区别?【面试题详解】... 2019-04-21
git更换_git命令 2019-04-21
hp-ux 查看系统负载_Linux性能调优 | 平均负载的理解和分析 2019-04-21
elementui的tree组件页面显示不出数据_vue路由及组件 2019-04-21
android hook sensor数据_最近,又有人在谈论Android的前景了!深入解析趋势及必备技术点... 2019-04-21
python 动态tabel的数据爬取_使用requests爬取python岗位招聘数据 2019-04-21
input js number 整数_JS基础简单小结(1) 2019-04-21
二阶差分预测后数据还原公式_xgboost系列丨xgboost原理及公式推导 2019-04-21
docker mysql服务启动失败_docker中mysql初始化及启动失败问题解决方案 2019-04-21
mysql 阿里云 添加磁盘空间_rds mysql磁盘空间包含 2019-04-21
mysql 1364 hy000_mysql SQL Error: 1364, SQLState: HY000 保存错误 2019-04-21
mysqli拓展还能用mysql_最近在学习php,其中使用了MYSQLi扩展,注意是MYSQLi不是MYSQL(因PHP7已经不支持MYSQL扩展了)。... 2019-04-21
java中gui_java中GUI是什么意思?详细图解 2019-04-21
java iso 8601_如何在iOS上获得ISO 8601日期? 2019-04-21
windows8怎么下载python_win8怎么安装python 2019-04-21
linux猜数字程序,用linux实现猜数字小游戏源码 2019-04-21
linux下堆栈溢出实例,堆栈溢出在Linux上沉默? 2019-04-21
python创建nc文件_工具箱第2期 用python玩转NC 2019-04-21
拆分文件_文件拆分与合并 2019-04-21