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模块常用函数介绍相关推荐

  1. Python中random模块常用函数/方法(2)——random.random(),random.randint()和random.uniform()

    1.random.random():生成一个0到1的随机符点数: 0 <= n < 1.0 语法:random.random() #生成一个0~1之间的随机浮点数 print(" ...

  2. numpy.random模块常用函数

    在Numpy库中,常用使用np.random.rand().np.random.randn()和np.random.randint()随机函数. 1. np.random.randn()函数 作用:返 ...

  3. C语言大数阶乘取余,python中math模块常用函数介绍 取模(取余)取绝对值 求阶乘 求最大公约数最小公倍数 取对数 取根号 取幂(取次方) 取整函数 三角函数与反三角函数...

    前提:import math 两个常用常量 e = 2.718281828459045 pi = 3.141592653589793 >>> import math >> ...

  4. TF:tensorflow框架中常用函数介绍—tf.Variable()和tf.get_variable()用法及其区别

    TF:tensorflow框架中常用函数介绍-tf.Variable()和tf.get_variable()用法及其区别 目录 tensorflow框架 tensorflow.Variable()函数 ...

  5. php spl函数,PHP SPL标准库中的常用函数介绍

    这篇文章主要介绍了PHP SPL标准库中的常用函数介绍,本文着重讲解了spl_autoload_extensions().spl_autoload_register().spl_autoload()三 ...

  6. 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 目录

  7. 【Python】PyQt5.QtWidgets模块常用函数和类(使用参考源码)

    Python PyQt5.QtWidgets 模块常用函数和类. PyQt5 是一套Python绑定Digia QT5应用的框架. QtWidgets 是PyQt5下面的一个模块,包含了一整套UI元素 ...

  8. oracle常用函数number,Oracle 常用函数介绍

    Oracle常用函数介绍,包括日期函数.类型转换函数 常用日期函数 1.add_months()函数可以得到指定日期之前或之后n个月的日期 date_value:=add_months(date_va ...

  9. Pandas入门之常用函数介绍

    一.Pandas简介 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具. pan ...

最新文章

  1. weblogic 12c 一键静默建域、集群、受管,计算机以及添加受管到集群
  2. 背包问题 tyvj1172
  3. python清空列表_Python之列表
  4. MVC Controller中View(model)如何在 View中的index页面获得?
  5. (转)OAuth 2.0的设计思路
  6. 计算机信息管理是学什么课程设计,毕业论文计算机专业学生信息管理系统(数据库课程设计)...
  7. XScale PXA270 下Linux文件传输实验
  8. [19/05/06-星期一] JDBC(Java DataBase Connectivity,java数据库连接)_基本知识
  9. maven项目中操作mysql数据库案例
  10. 0基础能不能转行做网络安全?网络安全人才发展路线
  11. markdown/LaTeX中在字母下方输入圆点的方法
  12. 计算机音乐因为我刚好遇见你,因为我刚好遇见你歌曲
  13. 基于上下文的业务流建模法(三)
  14. 基于JAVA教室实验室预约系统设计与实现 开题报告
  15. 【应用层】DNS协议
  16. HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型(转)
  17. Cookie、Session、本地存储
  18. Android FileProvider配置和当引用包内已经含有FileProvider的多节点解决办法
  19. python 解析类似 ‘\xe4\xb8\xad\xe5\x9b\xbd‘的unicode码为汉字
  20. VMware vSphere Replication 8.5部署及使用教程

热门文章

  1. nacos AP/CP模式切换
  2. jquery 缺少对象 错误
  3. JavaScript中innerHTML、outerHTML、innerText、outerText的用法与区别认识
  4. koa session
  5. webrtc QOS方法二(FEC)
  6. linux serial framework (2) - serial 8250 driver
  7. 中建材信息再转型背后:驶入数字化时代新蓝海
  8. 卓训教育:孩子不爱阅读怎么办,家长可以这样培养孩子的阅读习惯
  9. 【凯子哥带你做高仿】“煎蛋”Android版的高仿及优化(二)——大图显示模式、评论“盖楼”效果实现详解
  10. “买家秀”和“产品评论”中的消费心理