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. ASP.NET Zero--开发指南

    ASP.NET Zero--开发指南(Lyhcee 译) 01. 前期介绍 02. 前期要求 03. 解决方案结构(层) 04. 前端应用程序 05. 后端应用程序 06.WEB.HOST应用程序 0 ...

  2. SQL SELECT DISTINCT 语句

    SQL SELECT DISTINCT 语句 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值. 关键词 DISTINCT 用于返回唯一不同的值. 语法 ...

  3. Python文件操作之把臂入林

    文件操作1.打开文件open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=Tru ...

  4. Linux 系统进程相关命令

    1.pstree  :可以使用pstree命令来查看系统中进程的分布结构. 2.ps: 常用于查看系统进程的命令是ps(process status)命令,可通过它来查看系统进程的最基本信息. ●-A ...

  5. Bootstrap -- 文本,背景,其他样式

    Bootstrap -- 文本,背景,其他样式 1. 文本样式:展示了不同的文本颜色 使用文本样式: <!DOCTYPE html> <html> <head> & ...

  6. 《Effective Java中文版第二版》读书笔记

    说明 这里是阅读<Effective Java中文版第二版>的读书笔记,这里会记录一些个人感觉稍微有些重要的内容,方便以后查阅,可能会因为个人实力原因导致理解有误,若有发现欢迎指出.一些个 ...

  7. 【English】20190416

     anti-money laundering反洗钱[ˈænti][ˈlɔːndərɪŋ] misconduct不当行为[ˌmɪsˈkɑːndʌkt]   Currently, she is focus ...

  8. C# for循环或者foreach往List中添加对象的时候前面的数据总被最后加入的覆盖

    昨天我旁边小姐姐遇到一个问题,就是在执行for循环往list添加数据的时候,前面的数据信息总是被后面的数据信息所覆盖.  这样编写就会造成这样的数据效果:(所有的数据都会被覆盖)     问题原因:对 ...

  9. linux 网卡的混杂模式的取消

    1.Linux下网卡常用的几种模式说明: 广播方式:该模式下的网卡能够接收网络中的广播信息. 组播方式:设置在该模式下的网卡能够接收组播数据. 直接方式:在这种模式下,只有目的网卡才能接收该数据. 混 ...

  10. python之log

    #!/usr/bin/python # -*- coding: UTF- -*- ''' ''' import logging # 设置输出文件.文件格式和日志级别 logging.basicConf ...