python中random隨機(jī)函數(shù)詳解
加載相關(guān)庫
import random import seaborn as sns import matplotlib.pyplot as plt # 解決中文不顯示的問題 from pylab import mpl mpl.rcParams['font.sans-serif']=['SimHei'] # 解決正負(fù)號不顯示問題 plt.rcParams['axes.unicode_minus']=False
一、random基礎(chǔ)
random.random() # 返回隨機(jī)生成的一個實(shí)數(shù),它在[0,1)范圍內(nèi)。
random.randint(1,10) # 產(chǎn)生 1 到 10 的一個整數(shù)型隨機(jī)數(shù)
random.randrange(1,100,2) # 生成從1到100的間隔為2的隨機(jī)整數(shù)
random.uniform(1.1,5.4) # 產(chǎn)生 1.1 到 5.4 之間的隨機(jī)浮點(diǎn)數(shù),區(qū)間可以不是整數(shù)
random.choice('tomorrow') # 從序列中隨機(jī)選取一個元素
random.sample('zyxwvutsrqponmlkjihgfedcba',5) # 多個字符中生成指定數(shù)量的隨機(jī)字符
# 打亂排序
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]
二、實(shí)數(shù)分布
2.1 對稱分布
random.triangular(low, high, mode)
返回一個隨機(jī)浮點(diǎn)數(shù) N ,使得 low <= N <= high 并在這些邊界之間使用指定的 mode 。 low 和 high 邊界默認(rèn)為零和一。 mode 參數(shù)默認(rèn)為邊界之間的中點(diǎn),給出對稱分布。
n = 10000 x = [random.triangular(1, 10, 2) for i in range(n)] sns.distplot(x) # 默認(rèn)

2.2 指數(shù)分布
random.expovariate(lambd)
lambd 是 1.0 除以所需的平均值,它應(yīng)該是非零的。 (該參數(shù)本應(yīng)命名為 “lambda” ,但這是 Python 中的保留字。)如果 lambd 為正,則返回值的范圍為 0 到正無窮大;如果 lambd 為負(fù),則返回值從負(fù)無窮大到 0。
n = 10000 x = [random.expovariate(1) for i in range(n)] sns.distplot(x) # 默認(rèn)

2.3 Beta 分布
random.betavariate(alpha, beta)
參數(shù)的條件是 alpha > 0 和 beta > 0。 返回值的范圍介于 0 和 1 之間。
n = 10000 x = [random.betavariate(1, 1) for i in range(n)] sns.distplot(x) # 默認(rèn)

2.4 Gamma 分布
random.gammavariate(alpha, beta)
( 不是 gamma 函數(shù)! ) 參數(shù)的條件是 alpha > 0 和 beta > 0。
n = 10000 x = [random.gammavariate(10, 10) for i in range(n)] sns.distplot(x) # 默認(rèn)

2.5 高斯分布
random.gauss(mu, sigma)
mu 是平均值,sigma 是標(biāo)準(zhǔn)差。 這比下面定義的 normalvariate() 函數(shù)略快。
n = 10000 x = [random.gauss(10, 1) for i in range(n)] sns.distplot(x) # 默認(rèn)

2.6 對數(shù)正態(tài)分布
random.lognormvariate(mu, sigma)
如果你采用這個分布的自然對數(shù),你將得到一個正態(tài)分布,平均值為 mu 和標(biāo)準(zhǔn)差為 sigma 。 mu 可以是任何值,sigma 必須大于零。
n = 10000 x = [random.lognormvariate(-100, 1) for i in range(n)] sns.distplot(x) # 默認(rèn)

2.7 正態(tài)分布
random.normalvariate(mu, sigma)
mu 是平均值,sigma 是標(biāo)準(zhǔn)差。
n = 10000 x = [random.normalvariate(100, 10) for i in range(n)] sns.distplot(x) # 默認(rèn)

2.8 馮·米塞斯分布
random.vonmisesvariate(mu, kappa)
mu 是平均角度,以弧度表示,介于0和 2pi 之間,kappa 是濃度參數(shù),必須大于或等于零。 如果 kappa 等于零,則該分布在 0 到 2pi 的范圍內(nèi)減小到均勻的隨機(jī)角度.
n = 10000 x = [random.vonmisesvariate(4, 0) for i in range(n)] sns.distplot(x) # 默認(rèn)

2.9 帕累托分布
random.paretovariate(alpha)
alpha 是形狀參數(shù)。
n = 10000 x = [random.paretovariate(100) for i in range(n)] sns.distplot(x) # 默認(rèn)

2.10 威布爾分布
random.weibullvariate(alpha, beta)
alpha 是比例參數(shù),beta 是形狀參數(shù)。
n = 10000 x = [random.weibullvariate(100,10) for i in range(n)] sns.distplot(x) # 默認(rèn)

總結(jié)
到此這篇關(guān)于python中random隨機(jī)函數(shù)詳解的文章就介紹到這了,更多相關(guān)python random隨機(jī)數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python3實(shí)現(xiàn)釘釘消息推送的方法示例
這篇文章主要介紹了python3實(shí)現(xiàn)釘釘消息推送的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
Python Selenium安裝及環(huán)境配置的實(shí)現(xiàn)
這篇文章主要介紹了Python Selenium安裝及環(huán)境配置的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Python調(diào)用百度api實(shí)現(xiàn)語音識別詳解
這篇文章主要介紹了Python通過調(diào)用百度api實(shí)現(xiàn)語音識別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2021-12-12
python包裝和授權(quán)學(xué)習(xí)教程
包裝是指對一個已經(jīng)存在的對象進(jìn)行系定義加工,實(shí)現(xiàn)授權(quán)是包裝的一個特性,下面這篇文章主要給大家介紹了關(guān)于python包裝和授權(quán)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
python遞歸打印某個目錄的內(nèi)容(實(shí)例講解)
下面小編就為大家?guī)硪黄猵ython遞歸打印某個目錄的內(nèi)容(實(shí)例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
python在CMD界面讀取excel所有數(shù)據(jù)的示例
這篇文章主要介紹了python在CMD界面讀取excel所有數(shù)據(jù),幫助大家更好的利用python辦公,感興趣的朋友可以了解下2020-09-09

