python中random随机函数详解
作者:small__roc 发布时间:2022-06-14 22:34:43
加载相关库
import random
import seaborn as sns
import matplotlib.pyplot as plt
# 解决中文不显示的问题
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']
# 解决正负号不显示问题
plt.rcParams['axes.unicode_minus']=False
一、random基础
random.random() # 返回随机生成的一个实数,它在[0,1)范围内。
random.randint(1,10) # 产生 1 到 10 的一个整数型随机数
random.randrange(1,100,2) # 生成从1到100的间隔为2的随机整数
random.uniform(1.1,5.4) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
random.choice('tomorrow') # 从序列中随机选取一个元素
random.sample('zyxwvutsrqponmlkjihgfedcba',5) # 多个字符中生成指定数量的随机字符
# 打乱排序
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
random.shuffle(items)
print(items)
items:[3, 8, 4, 1, 7, 0, 6, 2, 9, 5]
二、实数分布
2.1 对称分布
random.triangular(low, high, mode)
返回一个随机浮点数 N ,使得 low <= N <= high 并在这些边界之间使用指定的 mode 。 low 和 high 边界默认为零和一。 mode 参数默认为边界之间的中点,给出对称分布。
n = 10000
x = [random.triangular(1, 10, 2) for i in range(n)]
sns.distplot(x) # 默认
2.2 指数分布
random.expovariate(lambd)
lambd 是 1.0 除以所需的平均值,它应该是非零的。 (该参数本应命名为 “lambda” ,但这是 Python 中的保留字。)如果 lambd 为正,则返回值的范围为 0 到正无穷大;如果 lambd 为负,则返回值从负无穷大到 0。
n = 10000
x = [random.expovariate(1) for i in range(n)]
sns.distplot(x) # 默认
2.3 Beta 分布
random.betavariate(alpha, beta)
参数的条件是 alpha > 0 和 beta > 0。 返回值的范围介于 0 和 1 之间。
n = 10000
x = [random.betavariate(1, 1) for i in range(n)]
sns.distplot(x) # 默认
2.4 Gamma 分布
random.gammavariate(alpha, beta)
( 不是 gamma 函数! ) 参数的条件是 alpha > 0 和 beta > 0。
n = 10000
x = [random.gammavariate(10, 10) for i in range(n)]
sns.distplot(x) # 默认
2.5 高斯分布
random.gauss(mu, sigma)
mu 是平均值,sigma 是标准差。 这比下面定义的 normalvariate() 函数略快。
n = 10000
x = [random.gauss(10, 1) for i in range(n)]
sns.distplot(x) # 默认
2.6 对数正态分布
random.lognormvariate(mu, sigma)
如果你采用这个分布的自然对数,你将得到一个正态分布,平均值为 mu 和标准差为 sigma 。 mu 可以是任何值,sigma 必须大于零。
n = 10000
x = [random.lognormvariate(-100, 1) for i in range(n)]
sns.distplot(x) # 默认
2.7 正态分布
random.normalvariate(mu, sigma)
mu 是平均值,sigma 是标准差。
n = 10000
x = [random.normalvariate(100, 10) for i in range(n)]
sns.distplot(x) # 默认
2.8 冯·米塞斯分布
random.vonmisesvariate(mu, kappa)
mu 是平均角度,以弧度表示,介于0和 2pi 之间,kappa 是浓度参数,必须大于或等于零。 如果 kappa 等于零,则该分布在 0 到 2pi 的范围内减小到均匀的随机角度.
n = 10000
x = [random.vonmisesvariate(4, 0) for i in range(n)]
sns.distplot(x) # 默认
2.9 帕累托分布
random.paretovariate(alpha)
alpha 是形状参数。
n = 10000
x = [random.paretovariate(100) for i in range(n)]
sns.distplot(x) # 默认
2.10 威布尔分布
random.weibullvariate(alpha, beta)
alpha 是比例参数,beta 是形状参数。
n = 10000
x = [random.weibullvariate(100,10) for i in range(n)]
sns.distplot(x) # 默认
来源:https://blog.csdn.net/small__roc/article/details/122856904
猜你喜欢
- <%@ Language=VBScript %><HTML><HEAD>
- Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大、灵活和复杂的系统,据说,在使用oracle时应有这样的思想,那就
- 开始第一篇。老规矩,先无聊的谈论天气一类的话题。十一长假,天气也终于开始有些秋天的味道,坐在屋里甚至觉得需要热咖啡。话说两年前也是在国庆假期
- 最近在研究品牌如何演绎,当然,看的时候没有忘记本行,分析了一下他们的交互设计~~路易威登LV上图采用胶片展示多组信息——大片展示品牌渲染。利
- 文本框 textarea 限制输入文字个数的的javascript代码,我们经常在评论留言页面我们需要在客户端限制访客的留言长度,当然最好我
- Mysql分页采用limt关键字select * from t_order limit 5,10; #返回第6-15行数据select *
- 转:coolcode.cn前几天写了一篇在任意字符集下正常显示网页的方法,里面介绍的很简单,就是把前128个字符以外的字符集都用
- 本文实例讲述了python使用协程实现并发操作的方法。分享给大家供大家参考,具体如下:协程协程是一种用户态的轻量级线程,又称微线程。协程拥有
- 常用的四种SQL命令:1.查询数据记录(Select)语法:Select 字段串行 From table Where 字段=内容例
- 名称空间名称空间(namespaces):用于存放名字与内存地址绑定关系的地方,是对栈区的划分作用:名称空间可以使栈区中存放相同的名字,从而
- 在这里奉上源代码,没有做样式处理,不过功能是可以的,希望大家可以和我交流交流!<html> <head>&
- 不同于其他软件项目,互联网项目的开发有其独有的特性。互联网项目开发不同于传统软件项目开发不同于需求定制性的软件开发公司。客户的需求是明确的,
- 算法流程:将图像转换为灰度图像利用Sobel滤波器求出 海森矩阵 (Hessian matrix) :将高斯滤波器分别作用于Ix&s
- 在上一篇文章中,简单介绍了下闭包(closure)和原型链,现在继续来研究闭包的内部机制。对了,所有的东西都参考自这篇文章:Javascri
- 我们经常用到的PHP取整函数,主要是:ceil,floor,round,intval。ceil -- 进一法取整说明float ceil (
- 一 描述561. 数组拆分 I - 力扣(LeetCode) (leetcode-cn.com)给定长度为 2n 的整数
- 随着WEB标准在国内的不断普及,结构表现行为分离、模块化、语义化、优雅退化等概念也成为考核一名前端人员对WEB标准理解的重要条目,其中,由于
- 整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作。文件输入输出1、内建函数open(file_name,文件
- 批处理可以很方便地和其它各种语言混合编程,除了好玩,还有相当的实用价值,比如windows版的ruby gem包管理器就是运用了批处理和ru
- 本文实例讲述了python中while循环语句用法。分享给大家供大家参考。具体如下:number = 1while number <