Python 产生随机数

 

在数据分析中,数据的获取是第一步,numpy.random 模块提供了非常全的自动产生数据API,是学习数据分析的第一步。
总体来说,numpy.random模块分为四个部分,对应四种功能:
1. 简单随机数: 产生简单的随机数据,可以是任何维度
2. 排列:将所给对象随机排列
3. 分布:产生指定分布的数据,如高斯分布等
4. 生成器:种随机数种子,根据同一种子产生的随机数是相同的
以下是详细内容以及代码实例:(以下代码默认已导入numpy:import numpy as np

1. 生成器

电脑产生随机数需要明白以下几点:
(1)随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方法一定,随机种子一定,那么产生的随机数就不会变。
(2)只要用户不设置随机种子,那么在默认情况下随机种子来自系统时钟(即定时/计数器的值)
(3)随机数产生的算法与系统有关,Windows和Linux是不同的,也就是说,即便是随机种子一样,不同系统产生的随机数也不一样。
numpy.random 设置种子的方法有:

np.random.RandomState(42)

2、简单随机数

                                             

                                                      

例:

rng = np.random.RandomState(42) # 生成随机数时可指定一种子,目的是为了生成相同的随机数,实现代码的复现。

X = rng.randn(100, 2)

 

参考自:https://blog.csdn.net/jinxiaonian11/article/details/53143141

 

具体解读:

1、np.random.rand()

给定一个形状创建数组,并在数组中加入[0,1]之间均匀分布的随机样本。

numpy.random.rand(d0, d1, ..., dn),产生d0 - d1 - ... - dn形状的在[0,1)上均匀分布的float型数。

2、np.random.randn()

以给定的形状创建一个数组,数组元素符合标准正态分布N(0,1)。

若要获得一般正态分布N(u,sigma2),可用 sigma*np.random.randn+u

numpy.random.randn(d0,d1,...,dn),产生d0 - d1 - ... - dn形状的标准正态分布的float型数。

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

numpy.random.randint(low, high=None, size=None, dtype='l'),产生随机整数

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

此外,若要将【a,b】区间分成N等分,也可以用此函数实现

 numpy.random.random_integers(low, high=None, size=None),在闭区间上产生随机整数;


a+(b-a)*(numpy.random.random_integers(N)-1)/(N-1)

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

 

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

7、函数原型:  numpy.random.uniform(low,high,size)

功能:从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.

参数介绍: 
    
    low: 采样下界,float类型,默认值为0;
    high: 采样上界,float类型,默认值为1;
    size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出m*n*k个样本,缺省时输出1个值

返回值:ndarray类型,其形状和参数size中描述一致。


参考:https://blog.csdn.net/u013920434/article/details/52507173 
 

  • 3
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值