码迷,mamicode.com
首页 > 编程语言 > 详细

Python随机数

时间:2021-04-19 15:47:15      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:multi   ISE   win   head   种子   正态分布   ace   max   list   

Python自带的random库 

函数名称函数功能
random.randint(n,m) 产生n-m间的一个随机数
random.random() 产生0-1间的浮点数
random.uniform(1.1,5.4) 产生n-m间的浮点数
random.randrange(n,m,k) 产生n-m间隔为k的整数
random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]) 从序列中随机选取一个元素
random.shuffle([1,3,5,6,7]) 打乱序列次序

 

 

numpy.random 模块

在数据分析中,数据的获取是第一步,numpy.random 模块提供了非常全的自动产生数据API,是学习数据分析的第一步。 
总体来说,numpy.random模块分为四个部分,对应四种功能: 

    1. 简单随机数: 产生简单的随机数据,可以是任何维度 
    2. 排列:将所给对象随机排列 
    3. 分布:产生指定分布的数据,如高斯分布等 
    4. 生成器:种随机数种子,根据同一种子产生的随机数是相同的 

以下是详细内容以及代码实例:(以下代码默认已导入numpy: import numpy as np  )


1. 生成器

         电脑产生随机数需要明白以下几点:  

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

        numpy.random 设置种子的方法有: 

函数名称函数功能参数说明
RandomState 定义种子类 RandomState是一个种子类,提供了各种种子方法,最常用seed
seed([seed]) 定义全局种子 参数为整数或者矩阵

2. 简单随机数

函数名称函数功能参数说明
rand(d0, d1, …, dn) 产生均匀分布的随机数 dn为第n维数据的维度
randn(d0, d1, …, dn) 产生标准正态分布随机数 dn为第n维数据的维度
randint(low[, high, size, dtype]) 产生随机整数 low:最小值;high:最大值;size:数据个数
random_sample([size]) 在[0,1)内产生随机数 size:随机数的shape,可以为元祖或者列表,[2,3]表示2维随机数,维度为(2,3)
random([size]) 同random_sample([size]) 同random_sample([size])
ranf([size]) 同random_sample([size]) 同random_sample([size])
sample([size])) 同random_sample([size]) 同random_sample([size])
choice(a[, size, replace, p]) 从a中随机选择指定数据 a:1维数组 size:返回数据形状
bytes(length) 返回随机位 length:位的长度

3. 分布

numpy.random模块提供了产生各种分布随机数的API:

函数名称函数功能参数说明
beta(a, b[, size]) 贝塔分布样本,在 [0, 1]内。  
binomial(n, p[, size]) 二项分布的样本。  
chisquare(df[, size]) 卡方分布样本。  
dirichlet(alpha[, size]) 狄利克雷分布样本。  
exponential([scale, size]) 指数分布  
f(dfnum, dfden[, size]) F分布样本。  
gamma(shape[, scale, size]) 伽马分布  
geometric(p[, size]) 几何分布  
gumbel([loc, scale, size]) 耿贝尔分布。  
hypergeometric(ngood, nbad, nsample[, size]) 超几何分布样本。  
laplace([loc, scale, size]) 拉普拉斯或双指数分布样本  
logistic([loc, scale, size]) Logistic分布样本  
lognormal([mean, sigma, size]) 对数正态分布  
logseries(p[, size]) 对数级数分布。  
multinomial(n, pvals[, size]) 多项分布  
multivariate_normal(mean, cov[, size]) 多元正态分布。  
negative_binomial(n, p[, size]) 负二项分布  
noncentral_chisquare(df, nonc[, size]) 非中心卡方分布  
noncentral_f(dfnum, dfden, nonc[, size]) 非中心F分布  
normal([loc, scale, size]) 正态(高斯)分布  
pareto(a[, size]) 帕累托(Lomax)分布  
poisson([lam, size]) 泊松分布  
power(a[, size]) Draws samples in [0, 1] from a power distribution with positive exponent a - 1.  
rayleigh([scale, size]) Rayleigh 分布  
standard_cauchy([size]) 标准柯西分布  
standard_exponential([size]) 标准的指数分布  
standard_gamma(shape[, size]) 标准伽马分布  
standard_normal([size]) 标准正态分布 (mean=0, stdev=1).  
standard_t(df[, size]) Standard Student’s t distribution with df degrees of freedom.  
triangular(left, mode, right[, size]) 三角形分布  
uniform([low, high, size]) 均匀分布  
vonmises(mu, kappa[, size]) von Mises分布  
wald(mean, scale[, size]) 瓦尔德(逆高斯)分布  
weibull(a[, size]) Weibull 分布  
zipf(a[, size]) 齐普夫分布  

Python随机数

标签:multi   ISE   win   head   种子   正态分布   ace   max   list   

原文地址:https://www.cnblogs.com/texabc/p/14669873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!