python中random随机函数详解

 更新时间:2022年02月11日 09:52:25   作者:small__roc  
大家好,本篇文章主要讲的是python中random随机函数详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

加载相关库

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)  # 默认

在这里插入图片描述

总结

到此这篇关于python中random随机函数详解的文章就介绍到这了,更多相关python random随机数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中执行shell的两种方法总结

    python中执行shell的两种方法总结

    这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包均是Python现有的内置模块。需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • Python正则抓取网易新闻的方法示例

    Python正则抓取网易新闻的方法示例

    这篇文章主要介绍了Python正则抓取网易新闻的方法,结合实例形式较为详细的分析了Python使用正则进行网易新闻抓取操作的相关实现技巧与注意事项,需要的朋友可以参考下
    2017-04-04
  • 在Django框架中编写Contact表单的教程

    在Django框架中编写Contact表单的教程

    这篇文章主要介绍了在Django框架中编写Contact表单的教程,Django是Python特色各异的框架中最有人气的一个,需要的朋友可以参考下
    2015-07-07
  • Python类中__init__() 和self的详细解析

    Python类中__init__() 和self的详细解析

    self和__init__的语法学过Python的都清楚,但是靠死记硬背来迫使自己理解并不是个好办法,下面这篇文章主要给大家介绍了关于Python类中__init__() 和self的相关资料,需要的朋友可以参考下
    2022-12-12
  • python hook监听事件详解

    python hook监听事件详解

    这篇文章主要为大家详细介绍了python hook监听事件的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Pycharm制作搞怪弹窗的实现代码

    Pycharm制作搞怪弹窗的实现代码

    这篇文章主要介绍了Pycharm制作搞怪弹窗(声音强制最大,屏幕亮度强制最亮,按钮躲避,弹窗炸弹),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • pandas dataframe按照列名给列排序三种方法

    pandas dataframe按照列名给列排序三种方法

    这篇文章主要给大家介绍了关于pandas dataframe按照列名给列排序的三种方法,在进行数据分析操作时,经常需要对数据按照某行某列排序,或者按照多行多列排序,以及按照索引值排序等等,需要的朋友可以参考下
    2023-07-07
  • Python读取图片的方法详解

    Python读取图片的方法详解

    这篇文章主要为大家详细介绍了Python中读取图片的实现方法,文中的示例代码简洁易懂,具有一定的参考价值,需要的小伙伴可以跟随小编一起学习一下
    2023-08-08
  • python 含子图的gif生成时内存溢出的方法

    python 含子图的gif生成时内存溢出的方法

    今天小编就为大家分享一篇python 含子图的gif生成时内存溢出的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • python读取浮点数和读取文本文件示例

    python读取浮点数和读取文本文件示例

    这篇文章主要介绍了python读取浮点数和读取文本文件示例,需要的朋友可以参考下
    2014-05-05

最新评论