random模块常用函数介绍
random是numpy中超好用的随机数模块,在数据分析中,我们不可避免需要一些随机值,如果自己手动输入,不仅不方便,还不随机。现在我们来一起学习一下这个模块。
简单随机数
- rand(d0, d1, …, dn)
传入的参数是指定输出的矩阵的shape,数组的元素的取值范围是在[0,1)的左闭右开的浮点数。
np.random.rand(3,2)
每一次执行都能得到不同的值。
- randn(d0, d1, …, dn)
传入的参数是指定矩阵shape,不传默认返回一个随机值。返回的元素是来自标准正态分布(均值0和方差1)的浮点数。
np.random.randn(2,2)
- randint(low[, high, size, dtype])
返回[low,high)的“离散均匀”分布的随机整数,矩阵的形状由size指定。如果不给high的值,那么数值默认是从[0,low)取值。size可以是int或者int元祖,若是不给出,则默认返回一个随机值。
np.random.randint(3,size=3)
np.random.randint(3,7,size=(3,2))
- random_sample([size])
返回一个在[0.0,1.0)左闭右开区间内连续均匀分布的随机浮点数。
和rand的区别是rand传入的维度是各个维度之间用逗号隔开,而random_sample的size则是传入一个元组。
np.random.random_sample((4,2))
5 * np.random.random_sample((3, 2)) - 5
- choice(a[, size, replace, p])
从给定的一位数组中生成随机样本。
其中还可以给定数组a中每个元素的相关概率,若是不给出,则默认所有元素都是在a中均匀分布的。
a = ['特等奖','一等奖','二等奖','三等奖','谢谢惠顾']
np.random.choice(a,(6,))
np.random.choice(a,(6,),p=[0.01,0.1,0.15,0.2,0.54])
注意:当出现以下情况,会报ValueError:
- a是一个数字,并且a小于0
- a或者p不是一维的
- a是一个空数组
- p不是概率向量
- a和p的长度不一致
- 当replace=False(默认是True)时,样本量(size指定的值)大于总体数量(a)大小
洗牌
- shuffle(x)
直接打乱该序列的内容,没有返回值。
(频数或频率的)分布
logistic([loc, scale, size])
从逻辑分布中抽取样本。
样本是从具有指定参数,loc(位置或均值,也为中位数)和scale(>0)的逻辑分布中抽取的。
逻辑分布的概率密度公式:
normal([loc, scale, size])
从正态(高斯)分布中抽取随机样本。默认均值是0.0,标准差是1.0。
正态分布概率密度:
standard_normal([size])
从标准正态分布中抽取随机样本,这个就是normal的一个默认值特例。
uniform([low, high, size])
从均匀分布中抽取样本。样本均匀分布在[low.high)左闭右开区间。low默认值是0.0,high默认值是1.0
均匀分布的概率密度函数:
uniform的抽样和前面简单随机数的几个函数很相似,但是前面是返回0-1范围内的值,uniform函数可以自己指定数据变化范围。
随机数种子
seed([seed])
当我们做数据分析,还有数据建模时,可能要通过调节参数值使模型更准确,但是用random模块每次数据都不一样,若是想保证在本次调节时样本数据一致,可使用seed函数。
当在同一个种子下,不管执行几次,得到的结果都是一样的。
另外,这个产生的随机数都是多位小数,如果你觉得看起来很累,可以设置自己想要精确到什么小数位。
np.set_printoptions(precision=2) # precision=2表示保留两位小数array1= np.random.rand(4)
array1
如果你还有想了解random模块的其他函数,可以查看官方文档:
https://numpy.org/devdocs/reference/random/legacy.html#numpy.random.RandomState
好了,本文到这里就结束了,希望你对random模块有所了解。
感谢您的阅读~
random模块常用函数介绍相关推荐
- Python中random模块常用函数/方法(2)——random.random(),random.randint()和random.uniform()
1.random.random():生成一个0到1的随机符点数: 0 <= n < 1.0 语法:random.random() #生成一个0~1之间的随机浮点数 print(" ...
- numpy.random模块常用函数
在Numpy库中,常用使用np.random.rand().np.random.randn()和np.random.randint()随机函数. 1. np.random.randn()函数 作用:返 ...
- C语言大数阶乘取余,python中math模块常用函数介绍 取模(取余)取绝对值 求阶乘 求最大公约数最小公倍数 取对数 取根号 取幂(取次方) 取整函数 三角函数与反三角函数...
前提:import math 两个常用常量 e = 2.718281828459045 pi = 3.141592653589793 >>> import math >> ...
- TF:tensorflow框架中常用函数介绍—tf.Variable()和tf.get_variable()用法及其区别
TF:tensorflow框架中常用函数介绍-tf.Variable()和tf.get_variable()用法及其区别 目录 tensorflow框架 tensorflow.Variable()函数 ...
- php spl函数,PHP SPL标准库中的常用函数介绍
这篇文章主要介绍了PHP SPL标准库中的常用函数介绍,本文着重讲解了spl_autoload_extensions().spl_autoload_register().spl_autoload()三 ...
- R语言使用psych包进行主成分分析PCA和探索性因子分析EFA的常用函数介绍:principal、fa、fa.parallel、factor.plot、fa.diagram、scree
R语言使用psych包进行主成分分析PCA和探索性因子分析EFA的常用函数介绍:principal.fa.fa.parallel.factor.plot.fa.diagram.scree 目录
- 【Python】PyQt5.QtWidgets模块常用函数和类(使用参考源码)
Python PyQt5.QtWidgets 模块常用函数和类. PyQt5 是一套Python绑定Digia QT5应用的框架. QtWidgets 是PyQt5下面的一个模块,包含了一整套UI元素 ...
- oracle常用函数number,Oracle 常用函数介绍
Oracle常用函数介绍,包括日期函数.类型转换函数 常用日期函数 1.add_months()函数可以得到指定日期之前或之后n个月的日期 date_value:=add_months(date_va ...
- Pandas入门之常用函数介绍
一.Pandas简介 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具. pan ...
最新文章
- weblogic 12c 一键静默建域、集群、受管,计算机以及添加受管到集群
- 背包问题 tyvj1172
- python清空列表_Python之列表
- MVC Controller中View(model)如何在 View中的index页面获得?
- (转)OAuth 2.0的设计思路
- 计算机信息管理是学什么课程设计,毕业论文计算机专业学生信息管理系统(数据库课程设计)...
- XScale PXA270 下Linux文件传输实验
- [19/05/06-星期一] JDBC(Java DataBase Connectivity,java数据库连接)_基本知识
- maven项目中操作mysql数据库案例
- 0基础能不能转行做网络安全?网络安全人才发展路线
- markdown/LaTeX中在字母下方输入圆点的方法
- 计算机音乐因为我刚好遇见你,因为我刚好遇见你歌曲
- 基于上下文的业务流建模法(三)
- 基于JAVA教室实验室预约系统设计与实现 开题报告
- 【应用层】DNS协议
- HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型(转)
- Cookie、Session、本地存储
- Android FileProvider配置和当引用包内已经含有FileProvider的多节点解决办法
- python 解析类似 ‘\xe4\xb8\xad\xe5\x9b\xbd‘的unicode码为汉字
- VMware vSphere Replication 8.5部署及使用教程
热门文章
- nacos AP/CP模式切换
- jquery 缺少对象 错误
- JavaScript中innerHTML、outerHTML、innerText、outerText的用法与区别认识
- koa session
- webrtc QOS方法二(FEC)
- linux serial framework (2) - serial 8250 driver
- 中建材信息再转型背后:驶入数字化时代新蓝海
- 卓训教育:孩子不爱阅读怎么办,家长可以这样培养孩子的阅读习惯
- 【凯子哥带你做高仿】“煎蛋”Android版的高仿及优化(二)——大图显示模式、评论“盖楼”效果实现详解
- “买家秀”和“产品评论”中的消费心理