https://www.cnblogs.com/td15980891505/p/6198036.html

numpy.random模块中提供啦大量的随机数相关的函数。

1 numpy中产生随机数的方法

  1)rand()   产生[0,1]的浮点随机数,括号里面的参数可以指定产生数组的形状

  2)randn()  产生标准正太分布随机数,参数含义与random相同

  3)randint()  产生指定范围的随机数,最后一个参数是元祖,他确定数组的形状

1
2
3
4
5
6
7
8
9
10
11
12
import numpy as np
from numpy import random as nr
 
#只显示小数点后两位
np.set_printoptions(precision = 2)
r1 = nr.rand(3,4)
r2 = nr.randn(5,4)
r3 = nr.randint(0,10,size = (4,3))
 
print r1
print r2
print r3
1
2
3
4
5
6
7
8
9
10
11
12
13
[[ 0.34  0.51  0.65  0.57]
 0.97  0.16  0.62  0.37]
 0.23  0.78  0.77  0.46]]
[[-0.69 -1.24 -0.32  1.07]
 0.05 -1.97  1.01 -1.59]
 1.51 -1.21  1.02 -0.19]
 1.49 -0.42  0.64  0.07]
 [-0.1   1.11  0.24 -0.18]]
[[9 6 7]
 [1 9 7]
 [4 9 6]
 [3 9 0]]
(Pdb)

2 常用分布

  1)normal()  正太分布

  2)uniform()  均匀分布

  3)poisson()  泊松分布

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# -*- coding: utf-8 -*-
"""
Spyder Editor
 
This is a temporary script file.
"""
import numpy as np
from numpy import random as nr
 
#只显示小数点后两位
np.set_printoptions(precision = 2)
 
#第一个参数是均值,第二个参数是标准差
r1 = nr.normal(100,10,size = (3,4))
print r1
 
#前两个参数分别是区间的初始值和终值
r2 = nr.uniform(0,10,size = (3,4))
print r2
 
#第一个参数为指定的lanbda系数
r3 = nr.poisson(2.0,size = (3,4))
print r3
1
2
3
4
5
6
7
8
9
10
[[ 100.67   98.39   99.36  103.37]
 [  98.23   95.11  107.57  111.23]
 [  97.26   75.21  110.4   112.53]]
[[ 2.42  6.81  9.96  3.15]
 9.28  4.4   7.87  5.19]
 3.47  2.92  4.5   2.58]]
[[3 1 5 0]
 [1 0 4 3]
 [3 1 2 1]]
(Pdb)

3 乱序和随机抽取

  permutation()随机生成一个乱序数组,当参数是n时,返回[0,n)的乱序,他返回一个新数组。而shuffle()则直接将原数组打乱。choice()是从指定的样本中随机抽取。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# -*- coding: utf-8 -*-
"""
Spyder Editor
 
This is a temporary script file.
"""
import numpy as np
from numpy import random as nr
 
#只显示小数点后两位
np.set_printoptions(precision = 2)
 
#返回打乱数组,原数组不变
r1 = nr.randint(10,100,size = (3,4))
print r1
print nr.permutation(r1)
print r1
 
print nr.permutation(5)
 
# 使用shuffle打乱数组顺序
= np.arange(10)
nr.shuffle(x)
print x
 
#xhoice()函数从指定数组中随机抽取样本
#size参数用于指定输出数组的大小
#replace参数为True时,进行可重复抽取,而False表示进行不可重复的抽取。默认为True
= np.array(10)
c1 = nr.choice(x,size = (2,3))
print c1
 
c2 = nr.choice(x,5,replace = False)
print c2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[[78 22 43 70]
 [46 87 12 32]
 [11 56 89 79]]
[[11 56 89 79]
 [78 22 43 70]
 [46 87 12 32]]
[[78 22 43 70]
 [46 87 12 32]
 [11 56 89 79]]
[4 1 2 0 3]
[3 4 9 5 8 2 7 0 6 1]
[[4 7 9]
 [9 1 7]]
[5 3 2 8 4]
(Pdb)

numpy中的随机数模块的更多相关文章

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

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

  2. 在Pycharm中导入第三方模块库(诸如:matplotlib、numpy等)

    在Pycharm中导入第三方模块库 一.打开pycharm: 二.点击菜单上的“file” -> “setting”: 三.步骤二完成后出现界面如下所示.选中你的项目(比如thisyan Pro ...

  3. 【转载】python 模块 - random生成随机数模块

    随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成的随机数字是完全相同的: random.seed(1) 这样random.randint(0,6, (4,5)) ...

  4. numpy中的np.random.mtrand.RandomState

    1 RandomState 的应用场景概述 在训练神经网络时,苦于没有数据,此时numpy为我们提供了 “生产” 数据集的一种方式. 例如在搭建神经网络(一)中的 4.3 准备数据集 章节中就是采用n ...

  5. Python中生成随机数

    目录 1. random模块 1.1 设置随机种子 1.2 random模块中的方法 1.3 使用:生成整形随机数 1.3 使用:生成序列随机数 1.4 使用:生成随机实值分布 2. numpy.ra ...

  6. Python numpy 中常用的数据运算

    Numpy 精通面向数组编程和思维方式是成为Python科学计算大牛的一大关键步骤.——<利用Python进行数据分析> Numpy(Numerical Python)是Python科学计 ...

  7. Python中的random模块,来自于Capricorn的实验室

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  8. Python中的random模块

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  9. Python 3 中的json模块使用

    1. 概述 JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式. Python标准库中的json模块提供了JSON数据的处理功能. Python中一种非常常 ...

随机推荐

  1. .NET性能优化小技巧

    .NET 性能优化小技巧 Intro 之前做了短信发送速度的提升,在大师的指导下,发送短信的速度有了极大的提升,学到了一些提升 .NET 性能的一些小技巧 HttpClient 优化 关于使用 Htt ...

  2. Docker Data Center系列(一)- 快速搭建云原生架构的实践环境

    本系列文章演示如何快速搭建一个简单的云原生架构的实践环境. 基于这个基础架构,可以持续部署微服务架构的应用栈,演练敏捷开发过程,提升DevOps实践能力. 1 整体规划 1.1 拓扑架构 1.2 基础 ...

  3. MongoDB 执行mongoexport时异常及分析(关于数字类型的查询)

    今天在用mongoexport导出满足一定条件下的数据时,遇到了一个报错,现纪录下来,并且针对此错误对MongoDB 的 数字类型 做了进一步的学习. 背景 及 报错信息 今天接到一个业务需求,需要从 ...

  4. C# Tostring()方法

    在C#中 JArray japroimg = new JArray(); strproimg.ToString();这样会导致tostring之后的字符串中会有大量的空格 使用  japroimg.T ...

  5. BCP SQL导出EXCEL常见问题及解决方法;数据导出存储过程

    一.‘xp_cmdshell’的启用 SQL Server阻止了对组件‘xp_cmdshell’的过程‘sys.xp_cmdshell’的访问.因为此组件已作为此服务嚣安全配置的一部分而被关 闭.系统 ...

  6. 列表、enumerate()函数,以及查看数据类型所有的内置方法

    随便看看 """ forList(): 测试list和enumerate()函数 examineFun(): 查看数据类型所有的内置方法 ""&quo ...

  7. Linux 下必备的性能检测工具 合集

    有些工具,值得学习学习: 网络 iftop IO  iotop 系统  top htop 保持更新,转载请注明出处. https://www.cnblogs.com/xuyaowen/p/linux- ...

  8. Cs231n课堂内容记录-Lecture 6 神经网络训练

    Lecture 6  Training Neural Networks 课堂笔记参见:https://zhuanlan.zhihu.com/p/22038289?refer=intelligentun ...

  9. 【任务】信息检索.MOOC学习

    [博客导航] [信息检索导航] 任务 18年12月4日开始,快速浏览,学习中国大学MOOC平台上黄如花老师的<信息检索>课程. 关键动力 0.搜索是最基础的能力,需要系统学习并应用. 1. ...

  10. typescript 学习笔记

    错的写法 枚举 错误写法 方法可选参 类 子类没有找父类