以下代码的前提:import numpy as np

numpy.random模块对python内置的random进行了补充,增加了一些高效生成多种概率分布的样本值的函数。例如可以用normal来得到一个正态分布的样本数组。

1 >>> samples = np.random.normal(size=(4, 4))
2 >>> samples
3 array([[-1.45057151, 0.80108401, 1.3671828 , 0.34067137],
4 [-0.351859 , 1.24758539, -0.26833999, -1.59481081],
5 [-0.81700215, 0.62729444, -0.34062153, -1.38731507],
6 [-0.07054579, 0.48847421, 0.66410904, 0.75402961]])
7 >>>

下表是部分numpy.random函数。

函数 说明
seed 确定随机数生成器的种子,使用MT19937算法生成随级数
permutation 返回一个序列的随机排列或返回一个随机排列的范围
shuffle 对一个序列就地随机排序
rand 产生均匀分布的样本值
randint 从给定的上下限范围内随机选取整数
randn 产生正态分布(平均值为0,标准差为1)的样本值
binomial 产生二项分布的样本值
normal 产生正态(高斯)分布的样本值
beta 产生beta分布的样本值
chisquare 产生卡方分布的样本值
gamma 产生gamma分布的样本值
uniform 产生在[0, 1)中均匀分布的样本值

numpy.random.permutation — NumPy v1.21 Manual

>>> np.random.permutation(10)
array([4, 1, 9, 5, 7, 6, 2, 3, 8, 0])
>>> np.random.permutation(10)
array([5, 8, 0, 4, 2, 9, 7, 3, 1, 6])
>>> np.random.permutation([1, 4, 9, 12, 15])
array([15, 12, 4, 9, 1])
>>> np.random.permutation([1, 4, 9, 12, 15])
array([12, 1, 4, 9, 15])

numpy.random.Generator.shuffle — NumPy v1.21 Manual

>>> arr = np.arange(10)
>>> np.random.shuffle(arr)
>>> arr
array([3, 1, 0, 9, 4, 7, 2, 5, 6, 8])

numpy.random.rand — NumPy v1.21 Manual

Create an array of the given shape and populate it with random samples from a uniform distribution over [0, 1). 创建的是[0, 1)之间均匀分布的随级数。

>>> np.random.rand(3, 2)
array([[0.07018308, 0.90561818],
[0.99432171, 0.26787643],
[0.28020959, 0.56367748]])

numpy.random.randint — NumPy v1.21 Manual

>>> np.random.randint(2, size=10)
array([0, 0, 1, 1, 0, 0, 0, 0, 1, 0])
>>> np.random.randint(2, 10, size=10)
array([6, 5, 3, 3, 2, 8, 3, 6, 7, 5])

numpy.random.randn — NumPy v1.21 Manual

Return a sample (or samples) from the “standard normal” distribution. 返回的是标准正态分布的样本值。

>>> np.random.randn()
0.08980201445589159
>>> 3 + 2.5 * np.random.randn(2, 4)
array([[-0.54181508, 1.91274669, -0.03481992, 4.13696276],
[ 2.5478997 , 5.99354068, -2.22818567, 1.80841191]])

numpy.random.binomial — NumPy v1.21 Manual

Draw samples from a binomial distribution. 返回的是二项分布的值。

方法:random.binomial(n, p, size=None)

概率密度函数:

>>> n, p = 10, .5
>>> np.random.binomial(n, p, 12)
array([3, 2, 6, 3, 6, 7, 6, 3, 6, 3, 5, 4])

numpy.random.uniform — NumPy v1.21 Manual

产生在[0, 1)中均匀分布的样本值。

random.uniform(low=0.0, high=1.0, size=None)

>>> np.random.uniform(-1, 0, 10)
array([-0.20440931, -0.45307924, -0.3799625 , -0.24008107, -0.45289709,
-0.2535697 , -0.21966943, -0.13334651, -0.53719732, -0.62820317])
>>> np.random.uniform(0, 1, 10)
array([0.79207298, 0.90605515, 0.31572444, 0.25714457, 0.05195628,
0.85805555, 0.29675482, 0.37778799, 0.20570759, 0.75019984])

numpy基础--random模块:随机数生成的更多相关文章

  1. numpy的random模块

    随机抽样 (numpy.random) 简单的随机数据 rand(d0, d1, ..., dn) 随机值 >>> np.random.rand(3,2) array([[ 0.14 ...

  2. numpy的random模块详细解析

    随机抽样 (numpy.random) 简单的随机数据 rand(d0, d1, ..., dn) 随机值 >>> np.random.rand(3,2) array([[ 0.14 ...

  3. Python基础-random模块及随机生成11位手机号

    import random # print(random.random()) # 随机浮点数,默认取0-1,不能指定范围# print(random.randint(1, 20)) # 随机整数,顾头 ...

  4. python中numpy的random模块

    1. rand(d0,d1,.....,dn)产生[0,1]的浮点随机数,括号里面的参数可以指定产生数组的形状    例如:np.random.rand(3,2)则产生 3×2的数组,里面的数是0-1 ...

  5. python基础--random模块

    python使用random生成随机数 下面是主要函数random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0random.randint(a, b)生成的 ...

  6. 【numpy】新版本中numpy(numpy>1.17.0)中的random模块

    numpy是Python中经常要使用的一个库,而其中的random模块经常用来生成一些数组,本文接下来将介绍numpy中random模块的一些使用方法. 首先查看numpy的版本: import nu ...

  7. Python基础系列讲解——random模块随机数的生成

    随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入ran ...

  8. numpy.random模块常用函数解析

    numpy.random模块中常用函数解析 numpy.random模块官方文档 1. numpy.random.rand(d0, d1, ..., dn)Create an array of the ...

  9. Day5- Python基础5 模块导入、time、datetime、random、os、sys、hashlib、json&pickle

    本节目录: 1.模块的分类 2.模块的导入 3.time模块 4.datetime模块 5.random 6.os模块 7.sys模块 8.hashlib 9.json&pickle 一.模块 ...

  10. python基础(19):random模块、time模块、sys模块、os模块

    1. random模块 导入的是random模块,格式是: import random 1.1 随机小数 取随机小数 : 数学计算. print(random.random()) # 取0-1之间的小 ...

随机推荐

  1. 在Windows电脑上快速运行AI大语言模型-Llama3

    概述 近期 Meta 发布了最新的 Llama3 模型,并开源了开源代码.Meta Llama 3 现已推出 8B 和 70B 预训练和指令调整版本,可支持广泛的应用程序. 并且 Llama 3 在语 ...

  2. 【ESP32 IDF】用RMT控制 WS2812 彩色灯带

    在上一篇中,老周用 .NET Nano Framework 给大伙伴们演示了 WS2812 灯带的控制,包括用 SPI 和 红外RMT 的方式.利用 RMT 是一个很机灵的方案,不过,可能很多大伙伴对 ...

  3. 这10款VS Code神仙插件,嵌入式程序员必备

    大家好,我是知微! 嵌入式软件开发工程师平时可能更多的是使用Source Insight.Keil.IAR来阅读代码,写代码. VSCode大家都听说过,功能十分强大,而且免费! 或许是因为这款软件上 ...

  4. 力扣596(MySQL)-超过5名学生的课(简单)

    题目: 表: Courses 编写一个SQL查询来报告 至少有5个学生 的所有班级. 以 任意顺序 返回结果表. 查询结果格式如下所示 示例1:  解题思路: 使用group by按 班级 进行分组后 ...

  5. 基于 EventBridge 构建 SaaS 应用集成方案

    ​简介:事件源是事件驱动的基石,如何获取更多事件源也是 EventBridge 一直在探索和尝试的方向.针对市场上其他云厂商和垂直领域的 Saas 服务,EventBridge 发布了 HTTP So ...

  6. [Trading] 什么是交易中的顺势和逆势

    开仓后的头寸开始盈利了并不断增加,这就是顺势:开仓后的头寸没有盈利或者亏损了,这就是逆势. 开仓后,用你持有的头寸判断,有浮盈的头寸单子就是正确的. 盈利取决你处理单子的能力,而处理单子是从开仓以后开 ...

  7. 2019-9-2-dotnet-获取当前进程方法

    title author date CreateTime categories dotnet 获取当前进程方法 lindexi 2019-9-2 11:3:3 +0800 2019-09-02 10: ...

  8. C++ 构造函数和析构函数(Constructors & Destructors)

    一.定义: 当object产生,有一个特殊的称为constructor的函数会自动执行.当object死亡,有一个特殊的称为destructor的函数会自动执行.Constructor 可以不只一个, ...

  9. Git——关于Git的一些补充(1)

    Git--关于Git的一些补充(1) 提示:图床在国外且动图比较多的情况下,需要时间加载. 目录: 目录 Git--关于Git的一些补充(1) 提示:图床在国外且动图比较多的情况下,需要时间加载. 目 ...

  10. Linux下vim的常用命令总结

    vim按d表示剪切 按dd剪切一行 vim命令:命令模式 /关键字 n继续向下查找 vim的多行注释: 1.按ctrl + v进入 visual block模式 2.按上下选中要注释的行 3.按大写字 ...