NumPy隨機(jī)數(shù)生成函數(shù)的多種實(shí)現(xiàn)方法
NumPy 的 numpy.random 模塊提供了豐富的隨機(jī)數(shù)生成函數(shù),覆蓋基礎(chǔ)隨機(jī)數(shù)組、概率分布抽樣和隨機(jī)排列等功能。以下是常用函數(shù)的詳細(xì)解析:
一、基礎(chǔ)隨機(jī)數(shù)生成函數(shù)
1.np.random.rand(d0, d1, ..., dn)
- 功能:生成 [0, 1) 均勻分布的隨機(jī)浮點(diǎn)數(shù)數(shù)組
- 參數(shù):
d0, d1...為數(shù)組維度(整數(shù)) - 示例:
np.random.rand(2, 3) # 生成 2行3列的隨機(jī)數(shù)組 # 輸出:array([[0.12, 0.34, 0.56], [0.78, 0.90, 0.23]])
2.np.random.randn(d0, d1, ..., dn)
- 功能:生成符合標(biāo)準(zhǔn)正態(tài)分布(μ=0, σ=1)的隨機(jī)數(shù)
- 參數(shù):同
rand() - 示例:
np.random.randn(2) # 生成2個(gè)標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù) # 輸出:array([-0.45, 1.23])
3.np.random.randint(low, high=None, size=None, dtype=int)
- 功能:生成 [low, high) 區(qū)間的整數(shù)隨機(jī)數(shù)
- 參數(shù):
low:下限(包含)high:上限(不包含,若未提供則從0開始)size:輸出形狀
- 示例:
np.random.randint(1, 10, size=(3,)) # 生成3個(gè)1-9的整數(shù) # 輸出:array([5, 2, 8])
4.np.random.random(size=None)
- 功能:生成 [0.0, 1.0) 均勻分布的隨機(jī)浮點(diǎn)數(shù)(單個(gè)數(shù)或數(shù)組)
- 示例:
np.random.random((2,2)) # 2x2隨機(jī)矩陣 # 輸出:array([[0.45, 0.78], [0.12, 0.90]])
二、概率分布抽樣函數(shù)
1.np.random.uniform(low=0.0, high=1.0, size=None)
- 功能:生成指定區(qū)間 [low, high) 的均勻分布隨機(jī)數(shù)
- 示例:
np.random.uniform(-1, 1, size=3) # 3個(gè)[-1,1)的均勻分布數(shù) # 輸出:array([-0.23, 0.56, -0.89])
2.np.random.normal(loc=0.0, scale=1.0, size=None)
- 功能:生成指定均值(loc)和標(biāo)準(zhǔn)差(scale)的正態(tài)分布
- 示例:
np.random.normal(loc=5, scale=2, size=2) # N(5, 22)的2個(gè)樣本 # 輸出:array([4.89, 6.12])
3.np.random.binomial(n, p, size=None)
- 功能:生成二項(xiàng)分布(n次試驗(yàn),成功概率p)的隨機(jī)數(shù)
- 示例:
np.random.binomial(n=10, p=0.5, size=3) # 3次10重伯努利試驗(yàn)的成功次數(shù) # 輸出:array([5, 7, 4])
4.np.random.poisson(lam=1.0, size=None)
- 功能:生成泊松分布(λ=lam)的隨機(jī)數(shù)
- 示例:
np.random.poisson(lam=3, size=4) # λ=3的4個(gè)泊松樣本 # 輸出:array([2, 4, 3, 5])
三、隨機(jī)抽樣與排列
1.np.random.choice(a, size=None, replace=True, p=None)
- 功能:從序列
a中隨機(jī)抽樣 - 參數(shù):
replace:是否允許重復(fù)抽樣(默認(rèn)True)p:各元素抽樣概率(需與a長(zhǎng)度相同)
- 示例:
np.random.choice([1,2,3,4], size=3, p=[0.1,0.2,0.3,0.4]) # 按概率抽樣3個(gè)元素,輸出:array([3,4,4])
2.np.random.shuffle(x)
- 功能:原地打亂數(shù)組x(修改原數(shù)組)
- 示例:
arr = np.array([1,2,3,4]) np.random.shuffle(arr) # arr變?yōu)?[3,1,4,2]
3.np.random.permutation(x)
- 功能:生成數(shù)組x的隨機(jī)排列(不修改原數(shù)組)
- 示例:
np.random.permutation([1,2,3,4]) # 輸出:array([2,4,1,3])
四、隨機(jī)種子設(shè)置
np.random.seed(42) # 設(shè)置隨機(jī)種子,保證結(jié)果可復(fù)現(xiàn) np.random.rand(2) # 每次運(yùn)行結(jié)果相同:array([0.37, 0.95])
關(guān)鍵區(qū)別總結(jié)
| 函數(shù)組 | 核心特點(diǎn) | 典型應(yīng)用場(chǎng)景 |
|---|---|---|
| rand/randn | 無需參數(shù)直接指定維度,快捷生成數(shù)組 | 快速創(chuàng)建隨機(jī)矩陣 |
| uniform/normal | 可自定義分布參數(shù)(區(qū)間/均值等) | 模擬特定概率分布的數(shù)據(jù) |
| choice/shuffle | 針對(duì)序列的抽樣與重排 | 隨機(jī)選樣、打亂數(shù)據(jù)順序 |
到此這篇關(guān)于NumPy隨機(jī)數(shù)生成函數(shù)的多種實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)NumPy隨機(jī)數(shù)生成函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- NumPy隨機(jī)數(shù)據(jù)分布與Seaborn可視化詳解
- NumPy數(shù)組排序、過濾與隨機(jī)數(shù)生成詳解
- Numpy創(chuàng)建數(shù)組和隨機(jī)數(shù)組的方法小結(jié)
- numpy中幾種隨機(jī)數(shù)生成函數(shù)的用法
- Python NumPy中的隨機(jī)數(shù)及ufuncs函數(shù)使用示例詳解
- numpy 產(chǎn)生隨機(jī)數(shù)的幾種方法
- numpy中生成隨機(jī)數(shù)的幾種常用函數(shù)(小結(jié))
- python numpy之np.random的隨機(jī)數(shù)函數(shù)使用介紹
- python numpy 常用隨機(jī)數(shù)的產(chǎn)生方法的實(shí)現(xiàn)
- Python使用numpy產(chǎn)生正態(tài)分布隨機(jī)數(shù)的向量或矩陣操作示例
相關(guān)文章
Django的HttpRequest和HttpResponse對(duì)象詳解
這篇文章主要介紹了Django的HttpRequest和HttpResponse對(duì)象,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Python實(shí)現(xiàn)將字典內(nèi)容保存到Excel文件的四種方法
Python 中的字典是一個(gè)數(shù)據(jù)集合,其中每個(gè)值對(duì)應(yīng)一個(gè)鍵,它們是無序的、可變的,并且對(duì)字典中存儲(chǔ)的值和鍵的數(shù)據(jù)類型沒有限制,本文給大家介紹了Python實(shí)現(xiàn)將字典內(nèi)容保存到Excel文件的四種方法,需要的朋友可以參考下2024-07-07
Python爬蟲庫BeautifulSoup獲取對(duì)象(標(biāo)簽)名,屬性,內(nèi)容,注釋
如何利用Python爬蟲庫BeautifulSoup獲取對(duì)象(標(biāo)簽)名,屬性,內(nèi)容,注釋等操作下面就為大家介紹一下2020-01-01
Python 隨機(jī)生成測(cè)試數(shù)據(jù)的模塊:faker基本使用方法詳解
這篇文章主要介紹了Python 隨機(jī)生成測(cè)試數(shù)據(jù)的模塊:faker基本使用方法,結(jié)合實(shí)例形式詳細(xì)分析了Python 隨機(jī)生成測(cè)試數(shù)據(jù)的模塊faker基本功能、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04
解決tensorboard多個(gè)events文件顯示紊亂的問題
今天小編就為大家分享一篇解決tensorboard多個(gè)events文件顯示紊亂的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02

