numpy中的随机数模块
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 npfrom 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 r1print r2print 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 EditorThis is a temporary script file."""import numpy as npfrom 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 EditorThis is a temporary script file."""import numpy as npfrom numpy import random as nr#只显示小数点后两位np.set_printoptions(precision = 2)#返回打乱数组,原数组不变r1 = nr.randint(10,100,size = (3,4))print r1print nr.permutation(r1)print r1print nr.permutation(5)# 使用shuffle打乱数组顺序x = np.arange(10)nr.shuffle(x)print x#xhoice()函数从指定数组中随机抽取样本#size参数用于指定输出数组的大小#replace参数为True时,进行可重复抽取,而False表示进行不可重复的抽取。默认为Truex = np.array(10)c1 = nr.choice(x,size = (2,3))print c1c2 = 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中的随机数模块的更多相关文章
- 【numpy】新版本中numpy(numpy>1.17.0)中的random模块
numpy是Python中经常要使用的一个库,而其中的random模块经常用来生成一些数组,本文接下来将介绍numpy中random模块的一些使用方法. 首先查看numpy的版本: import nu ...
- 在Pycharm中导入第三方模块库(诸如:matplotlib、numpy等)
在Pycharm中导入第三方模块库 一.打开pycharm: 二.点击菜单上的“file” -> “setting”: 三.步骤二完成后出现界面如下所示.选中你的项目(比如thisyan Pro ...
- 【转载】python 模块 - random生成随机数模块
随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成的随机数字是完全相同的: random.seed(1) 这样random.randint(0,6, (4,5)) ...
- numpy中的np.random.mtrand.RandomState
1 RandomState 的应用场景概述 在训练神经网络时,苦于没有数据,此时numpy为我们提供了 “生产” 数据集的一种方式. 例如在搭建神经网络(一)中的 4.3 准备数据集 章节中就是采用n ...
- Python中生成随机数
目录 1. random模块 1.1 设置随机种子 1.2 random模块中的方法 1.3 使用:生成整形随机数 1.3 使用:生成序列随机数 1.4 使用:生成随机实值分布 2. numpy.ra ...
- Python numpy 中常用的数据运算
Numpy 精通面向数组编程和思维方式是成为Python科学计算大牛的一大关键步骤.——<利用Python进行数据分析> Numpy(Numerical Python)是Python科学计 ...
- Python中的random模块,来自于Capricorn的实验室
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Python中的random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Python 3 中的json模块使用
1. 概述 JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式. Python标准库中的json模块提供了JSON数据的处理功能. Python中一种非常常 ...
随机推荐
- 章节九、4-ChromDriver介绍
一.首先下载Chrom浏览器驱动,将驱动解压到存放火狐浏览器驱动文件路径中(请观看前面的章节) 1.进入该网址下载匹配本地浏览器版本的驱动 http://chromedriver.storage.go ...
- python爬虫实战:利用scrapy,短短50行代码下载整站短视频
近日,有朋友向我求助一件小事儿,他在一个短视频app上看到一个好玩儿的段子,想下载下来,可死活找不到下载的方法.这忙我得帮,少不得就抓包分析了一下这个app,找到了视频的下载链接,帮他解决了这个小问题 ...
- Ubuntu 16.04 使用校园网客户端上网
对于使用校园网的学生来说,安装好Ubuntu之后,很多人需要用 DrClient 客户端来上网,那么怎么操作呢, 这里介绍 DrClient 客户端在Ubuntu上的使用方法, 首先下载 对应版本的软 ...
- SQLServer之UNIQUE约束
UNIQUE约束添加规则 1.唯一约束确保表中的一列数据没有相同的值. 2.与主键约束类似,唯一约束也强制唯一性,但唯一约束用于非主键的一列或者多列的组合,且一个表可以定义多个唯一约束. 使用SSMS ...
- echarts柱状图点击阴影部分触发事件
在很多时候我们的柱状图分布不均匀,有些柱高可能会很小,如果通过myChart.on('click',function(){})来促发事件,可能在点击的时候不好操作,因为这个click事件是绑定在各个s ...
- 如何在查看docker container内进程信息,与宿主机上进程信息的映射关系
docker container内运行的进程,在宿主机上,通过ps也是能够查到的,但是在不熟悉命令的时候,无法快速找到他们的关系. 这里科普一个基础命令 docker top 1. 找到容器的id d ...
- GIL全局解释器锁
1. 什么是GIL全局解释器锁 GIL本质就是一把互斥锁,相当于执行权限,每个进程内都会存在一把GIL,同一进程内的多个线程 必须抢到GIL之后才能使用Cpython解释器来执行自己的代码,即 ...
- 【原创】架构师必备,带你弄清混乱的JAVA日志体系!
引言 还在为弄不清commons-logging-xx.jar.log4j-xx.jar.sl4j-api-xx.jar等日志框架之间复杂的关系而感到烦恼吗? 还在为如何统一系统的日志输出而感到不知所 ...
- 在Bootstrap开发框架的工作流模块中实现流程完成后更新资料状态处理
在开发查看流程表单明细的时候,在Web界面中,我们往往通过使用@RenderPage实现页面内容模块化的隔离,减少复杂度,因此把一些常用的如审批.撤销.会签.阅办等等的流程步骤都放到了通用处理的页面V ...
- Elastic Stack-Elasticsearch介绍
一.前言 前篇写了好像没有多少人去看,但是还是要继续,我猜想可能是很多人接触的这块比较少吧,Elasticsearch这块有很多要说的,开始吧. 二.数据库.Elasticsearch选择 ...