python生成隨機(jī)數(shù)

更多大數(shù)據(jù)分析、建模等內(nèi)容請關(guān)注公眾號《bigdatamodeling》

從事成都溫江機(jī)房,服務(wù)器租用,云主機(jī),網(wǎng)頁空間,空間域名,CDN,網(wǎng)絡(luò)代維等服務(wù)。

在實(shí)現(xiàn)算法時經(jīng)常會用到隨機(jī)數(shù),有時會忘記各種隨機(jī)數(shù)的生成方法,這里對Python中的隨機(jī)數(shù)生成方法進(jìn)行匯總,以供以后查閱。

import numpy as np
# 兩者實(shí)現(xiàn)的作用是一樣的,都是使每次隨機(jī)生成數(shù)一樣
np.random.seed(10)
np.random.RandomState(10)

### 正態(tài)分布 np.random.normal(loc=0.0, scale=1.0, size=None)
np.random.normal() # 返回標(biāo)量 ~N(0,1)
np.random.normal(1) # 返回標(biāo)量 ~N(0,1)
np.random.normal(size=(2, 2)) # 返回N(0,1) 
np.random.normal(0, 1, size=(2, 2)) # 同上
np.random.normal(2, 10, size=(2, 2)) 

### 標(biāo)準(zhǔn)正態(tài)分布N(0,1) 
np.random.randn() # 生成標(biāo)量 
np.random.randn(1)
np.random.randn(2)
np.random.randn(2, 2)
5 * np.random.randn(2, 2) + 10

### 從均勻分布([low, high):半開區(qū)間)中進(jìn)行采樣
np.random.uniform(low=1, high=5, size=(2, 2))
np.random.uniform(1, 5, 10)
np.random.uniform(1, 5) # 生成[1, 5)中的1個標(biāo)量

### 從均勻分布([0, 1):半開區(qū)間)中進(jìn)行采樣
np.random.rand() # 生成標(biāo)量 
np.random.rand(1)
np.random.rand(2, 2)

### 生成半開半閉區(qū)間[low,high)上離散均勻分布的整數(shù)值;若high=None,則取值區(qū)間變?yōu)閇0,low) 
np.random.randint(low=1, high=5, size=(2, 2))
np.random.randint(low=1, high=5, size=10) 
np.random.randint(1, 5, 10) # 同上
np.random.randint(low=5, size=10)
np.random.randint(1, 5) # 生成[1, 5)中的1個標(biāo)量

### 生成閉區(qū)間[low,high]上離散均勻分布的整數(shù)值;若high=None,則取值區(qū)間變?yōu)閇1,low] 
np.random.random_integers(low=1, high=5, size=(2, 2))
np.random.random_integers(low=1, high=5, size=10)
np.random.random_integers(1, 5, 10) # 同上
np.random.random_integers(low=5, size=10) 
np.random.random_integers(1, 5) # 生成[1, 5]中的1個標(biāo)量

### np.random.random 等價于 np.random.random_sample
# 返回[0,1)之間的隨機(jī)數(shù)
np.random.random() # 返回標(biāo)量
np.random.random(1)
np.random.random(2)
np.random.random((2, 3))

### numpy.random.choice(a, size=None, replace=True, p=None) 
# Generates a random sample from a given 1-D array
# 從數(shù)組a中選擇,若a是整數(shù),則從np.arange(a)中選擇
# replace代表放回與否
# p為數(shù)組中每個元素被選中的概率,為空則表示均勻分布
np.random.choice(5, 3)
np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
np.random.choice(5, 3, replace=False)
np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
np.random.choice(arr, 5, p=[0.5, 0.1, 0.1, 0.3])

分享文章:python生成隨機(jī)數(shù)
轉(zhuǎn)載注明:http://muchs.cn/article4/ijcpie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、品牌網(wǎng)站建設(shè)域名注冊、網(wǎng)站收錄自適應(yīng)網(wǎng)站、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司