以下代码的前提: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. FPGA技术脚本使用

    做fpga 不会脚本,基本跟残废一个概念.以前我觉得做FPGA应该学习什么人工智能,大数据,机器人.现在想起来真是傻逼,做fpga也好,做ic,做逻辑其实基本能力都是一样的. 一个学习tcl脚本,pe ...

  2. idea引用lombok一直不成功

    idea引用lombok一直不成功 比如想使用lombok的@data注解一直报错,尽管已经声明了import lombok.Data,且在pom里面也增加了lombok依赖,但是就是不成功的时候 建 ...

  3. 【笔记】Oracle union all&for update锁

    [笔记]Oracle union all&for update union all 在Oracle中有三种类型的集合操作 UNION:求并,重复记录只显示一次 UNION ALL:求并集,显示 ...

  4. 浅谈DDD中的聚合

    简介: 在我看来并不是MVC的基础上增加领域层,使用充血模型,解耦基础服务,我的代码就符合DDD了. 作者 | 李宇飞(菜尊)来源 | 阿里开发者公众号 在我看来并不是MVC的基础上增加领域层,使用充 ...

  5. MaxCompute管家详解--管家助力,轻松玩转MaxCompute

    精彩视频回顾请点击:MaxCompute管家详解以下是直播内容精华整理,主要包括以下四个方面:1.背景速览:2.功能介绍:3.案例讲解:4.新功能预告. 一.背景速览 MaxCompute(原ODPS ...

  6. 智能logo免费体验|如何让餐饮logo在点评网站上一眼出众?

    ​简介:一个新的餐饮店铺,还没有人知晓,Logo就是这个重要的"门面",所传递的信息让人快速识别,就能产生记忆点,愿意进一步了解,从而为店铺带来流量和收益.如何让你的餐饮店铺log ...

  7. 码住!Flink Contributor 速成指南

    简介: 不管初衷是什么,Flink 都非常欢迎大家一起建设和完善社区.在开始具体的贡献步骤之前,我们先简要介绍一下参与贡献的几种途径,以及 Clarify 关于开源贡献的一些固有印象. 作者:伍翀(云 ...

  8. EventBridge 与 FC 一站式深度集成解析

    ​简介:本篇文章通过对 EventBridge 与 FC 一站式深度集成解析和集成场景的介绍,旨在帮助大家更好的了解面对丰富的事件时,如何使用 EventBridge 与 FC 的一站式集成方案,快速 ...

  9. Go语言入门分享

    ​简介: Go语言出自Ken Thompson.Rob Pike和Robert Griesemer之手,起源于2007年,并在2009年正式对外发布.Go的主要目标是"兼具Python等动态 ...

  10. [FAQ] JS 实现暂停(睡眠) Sleep 与 倒计时 ?

    想要暂停/睡眠一秒,可以参考使用以下方式: async () => { await (new Promise((resolve) => setTimeout(resolve, 1000)) ...