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


猜你喜欢
- 迭代器聊迭代器前我们要先清楚迭代的概念:通常来讲从一个对象中依次取出数据,这个过程叫做遍历,这个手段称为迭代(重复执行某一段代码块,并将每一
- 前言同步适合多个连续执行的,每一步的执行依赖于上一步操作,异步执行则和任务执行顺序无关(如从10个站点抓取数据)同步执行类RunnerAsy
- ASP 本身不支持动态包含文件,现在的动态包含是通过 FSO 把被包含的文件合并到主文件里再运行。以下也有把形如 <!--#
- 本文实例讲述了thinkphp5.1 框架钩子和行为用法。分享给大家供大家参考,具体如下:行为ThinkPHP中的行为是一个比较抽象的概念,
- 前言用过Pandas和openpyxl库的同学都知道,这两个库是相互互补的。Pandas绝对是Python中处理Excel最快、最好用的库,
- 结合工作中的内容和大家分享一次Left Jon优化的过程,希望能给同学们新的思路。【功能背景】 我们需要
- XML的嵌套处理 一般情况下,我们从数据库中查询得到的结果集可能很大,所以从服务器返回到客户端时,数据会被分成若干个页面分别进行传递。此时,
- models.py:from django.db import models # 出版社class Publisher(models.Mod
- 在程序的开发过程中,处理分页是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钓的。但效率又是我们所追求的,如果是像原来那样把所
- 一 简介python-mysql-replication 是基于python实现的 MySQL复制协议工具,我们可以用它来解析binlog
- 目录Show Me The Code测试下效果效果PS另一种方法Show Me The CodeHTMLElement.prototype.
- 问题背景:在开发或者做实验的过程中,我们经常会用到远程服务器或者Github的项目,而我服务器上的项目只能在Jupyter Notebook
- SQL Server会把经常使用到的数据缓存在内存里(就是数据页缓存),用以提高数据访问速度。因为磁盘访问速度远远低于内存,所以减少磁盘访问
- <%@ Language=VBScript %><%Option Explicit %><%Dim strUR
- 一、SeabornSeaborn 建于 matplotlib 库的之上。它有许多内置函数,使用这些函数,只需简单的代码行就可以创建漂亮的绘图
- 如果你现在正在使用Restful API,并且你需要通过web项目来构建json格式字符串的响应,那么这篇文章将帮助你使用javascrip
- 前言本文主要给大家介绍了关于python使用正则表达式的集合字符的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
- Python 中的运算符什么是运算符?举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,"+" 称
- 双向RNN:bidirectional_dynamic_rnn()函数的使用详解先说下为什么要使用到双向RNN,在读一篇文章的时候,上文提到
- 现在Ajax是一个相当火的东西,那么Ajax是什么呢?我的理解Ajax就是一个工具,就是一个客户端的技术,不管用何种服务器端技术都可以用Aj