1.numpy.random.rand()
用法是:numpy.random.rand(d0,d1,…dn)
以给定的形状创建一个数组,并在数组中加入在[0,1]之间均匀分布的随机样本。
用法及实现

>>> np.random.rand(3,2)
array([[ 0.14022471, 0.96360618], #random
[ 0.37601032, 0.25528411], #random
[ 0.49313049, 0.94909878]]) #random
>>>np.random.rand(5)
array([ 0.26677034, 0.01680242, 0.5164905 , 0.70920141, 0.30438513])

2.numpy.random.randn()
用法是:numpy.random.rand(d0,d1,…dn)
以给定的形状创建一个数组,数组元素来符合标准正态分布N(0,1)
若要获得一般正态分布则可用sigma * np.random.randn(…) + mu进行表示
用法及实现

>>> a = np.random.randn(2, 4)
>>> a
array([[-0.29188711, 0.76417681, 1.00922644, 0.34169581],
[-0.3652463 , -0.9158214 , 0.34467129, -0.31121017]])
>>> b = np.random.randn(2)
>>> b
array([ 0.37849173, 1.14298464])

3.numpy.random.randint()
用法是:numpy.random.randint(low,high=None,size=None,dtype)
生成在半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间变为[0,low)
用法及实现
high=None的情形

>>> a = np.random.randint(2, size=10)
>>> a
array([0, 1, 0, 1, 1, 0, 1, 0, 0, 1])
>>> b = np.random.randint(1, size=10)
>>> b
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
>>> c = np.random.randint(5, size=(2, 4))
>>> c
array([[3, 4, 3, 3],
[3, 0, 0, 1]])

high≠None

d = np.random.randint(2,high=6,size=(2,4))
>>> d
array([[5, 2, 4, 2],
[4, 3, 5, 4]])

4.numpy.random.random_integers()
用法是: numpy.random.random_integers(low,high=None,size=None)
生成闭区间[low,high]上离散均匀分布的整数值;若high=None,则取值区间变为[1,low]
用法及实现
high=None的情形

>>> np.random.random_integers(1, 6, 10)
array([4, 5, 2, 3, 4, 2, 5, 4, 5, 4])
>>> np.random.random_integers(6)
5
>>> np.random.random_integers(6,size=(3,2))
array([[1, 3],
       [5, 6],
       [3, 4]])

high≠None的情形

>>> c =  np.random.random_integers(6,high=8,size=(3,2))
>>> c
array([[7, 8],
[7, 8],
[8, 8]])

此外,若要将【a,b】区间分成N等分,也可以用此函数实现
a+(b-a)*(numpy.random.random_integers(N)-1)/(N-1)

5.numpy.random_sanmple()
用法是: numpy.random.random_sample(size=None)
以给定形状返回[0,1)之间的随机浮点数
用法及实现

>>> np.random.random_sample()
0.2982524530687424
>>> np.random.random_sample((5,))
array([ 0.47989216, 0.12580015, 0.99624494, 0.14867684, 0.56981553])
>>> np.random.random_sample((2,5))
array([[ 0.00659559, 0.45824325, 0.13738623, 0.60766919, 0.39234638],
[ 0.6914948 , 0.92461145, 0.43289058, 0.63093292, 0.06921928]])

其他函数,numpy.random.random() ;numpy.random.ranf()
numpy.random.sample()用法及实现都与它相同

6.numpy.random.choice()
用法是: numpy.random.choice(a,size=None,replace=True,p=None)
若a为数组,则从a中选取元素;若a为单个int类型数,则选取range(a)中的数
replace是bool类型,为True,则选取的元素会出现重复;反之不会出现重复
p为数组,里面存放选到每个数的可能性,即概率
用法及实现

>>>a =  np.random.choice(5, 3)
>>> a
array([4, 3, 1])
>>>b = np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
>>> b
array([2, 3, 3], dtype=int64)
>>> c = np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
>>> c
array([3, 2, 0])
 

Python的numpy库中rand(),randn(),randint(),random_integers()的使用的更多相关文章

  1. Python数据分析numpy库

    1.简介 Numpy库是进行数据分析的基础库,panda库就是基于Numpy库的,在计算多维数组与大型数组方面使用最广,还提供多个函数操作起来效率也高 2.Numpy库的安装 linux(Ubuntu ...

  2. numpy库中数组的数据类型

    numpy库中数组的数据类型 dtype是一个特殊的对象,它含有ndarray将一块内存解释为特殊数据类型所需要的信息 指定数据类型创建数组 >>> import numpy as ...

  3. Python之Numpy库常用函数大全(含注释)

    前言:最近学习Python,才发现原来python里的各种库才是大头! 于是乎找了学习资料对Numpy库常用的函数进行总结,并带了注释.在这里分享给大家,对于库的学习,还是用到时候再查,没必要死记硬背 ...

  4. Python之Numpy库常用函数大全(含注释)(转)

    为收藏学习,特转载:https://blog.csdn.net/u011995719/article/details/71080987 前言:最近学习Python,才发现原来python里的各种库才是 ...

  5. 【python】numpy库和matplotlib库学习笔记

    Numpy库 numpy:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成,并可与C++/Fortran语言无缝结合.树莓派Python v3默 ...

  6. Python的numpy库下的几个小函数的用法

    numpy库是Python进行数据分析和矩阵运算的一个非常重要的库,可以说numpy让Python有了matlab的味道 本文主要介绍几个numpy库下的小函数. 1.mat函数 mat函数可以将目标 ...

  7. Python 的 Numpy 库

    Numpy: # NumPy库介绍 # NumPy的安装 #  NumPy系统是Python的一种开源的数值计算扩展 #  可用来存储和处理大型矩阵. #  因为不是Python的内嵌模块,因此 ...

  8. Python基础——numpy库的使用

    1.numpy库简介:    NumPy提供了许多高级的数值编程工具,如:矩阵数据类型.矢量处理,以及精密的运算库.专为进行严格的数字处理而产生. 2.numpy库使用: 注:由于深度学习中存在大量的 ...

  9. Python之numpy库

    NumPy库知识结构 更多详细内容参考:http://www.cnblogs.com/zhanglin-0/p/8504635.html

随机推荐

  1. MFC(1):vc6.0转vs2005出现的问题

     在将vc6.0程序转换到vs2005或者vs2008.vs2010时提示:error C2440: 'static_cast' : cannot convert from 'UINT (__this ...

  2. centos7启动网卡报错(Failed to start LSB: Bring up/down networking )

    systemctl status network.service systemctl stop NetworkManager systemctl disable NetworkManager syst ...

  3. I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor

    目录: <I/O模型之一:Unix的五种I/O模型> <I/O模型之二:Linux IO模式及 select.poll.epoll详解> <I/O模型之三:两种高性能 I ...

  4. 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性)

    一. 简介 上一个章节中,也介绍了立即加载和延迟加载,但上一个章节是针对单表而言的,不含外键,立即也好,延迟也好,都是指单表中的数据.但本章节重点介绍的三种加载方式均是针对含(导航属性.外键)的情况下 ...

  5. Regularity criteria for NSE 5: $u_3,\om_3$

    In [Zhang, Zujin. Serrin-type regularity criterion for the Navier-Stokes equations involving one vel ...

  6. CentOS安装VLC

    For EL7: rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm rpm - ...

  7. Codeforces 1088F(贪心+倍增)

    题目链接 题意 构造一颗树使得满足计算方法的结果最小. 思路 考虑两棵树,一棵为题目中的询问构成的树$T1$,一棵为要构造的满足最终答案的树$T2$.从$T1$点权最小的点向外构造$T2$,在$T1$ ...

  8. 【汇总目录】Git

    基础教程 [2019年03月26日] 推送提交(git push) [2019年03月26日] 远程分支 [2019年03月26日] 基本的合并冲突处理 [2019年03月25日] 基本的分支与合并操 ...

  9. mybatis(入门级项目)

    框架的搭建:(两个java类,两个xml配置文件) 1.导入jar包,日志debug文件以及数据库的参数文件 2.建立持久化类(和数据库的列值相同的类) user类的一个扩展类: userQueryV ...

  10. 1120 机器人走方格 V3(组合数)

    题目实际上是求catalan数的,Catalan[n] = C(2*n,n) / (n+1) = C(2*n,n) % mod * inv[n+1],inv[n+1]为n+1的逆元,根据费马小定理,可 ...