欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

numpy.random.choice()函數(shù)詳解

 更新時(shí)間:2023年05月10日 11:37:45   作者:山茶花開時(shí)。  
處理數(shù)據(jù)時(shí)我們經(jīng)常需要從數(shù)組中隨機(jī)抽取元素,這時(shí)候我們可以考慮使用np.random.choice()函數(shù),這篇文章主要介紹了numpy.random.choice()函數(shù),需要的朋友可以參考下

處理數(shù)據(jù)時(shí)我們經(jīng)常需要從數(shù)組中隨機(jī)抽取元素,這時(shí)候我們可以考慮使用np.random.choice()函數(shù)

語(yǔ)法格式

numpy.random.choice(a, size=None, replace=True, p=None)

參數(shù)說明

a:如果a是一維數(shù)組,就表示從這個(gè)一維數(shù)組中隨機(jī)采樣;如果a是整數(shù),就表示從0到a-1這個(gè)序列中隨機(jī)采樣

size: 從a中選取size個(gè)數(shù)(采樣結(jié)果的數(shù)量,以概率p隨機(jī)選取大小為size的數(shù)據(jù))

replace:布爾值,表示是否重用元素,即抽取出來的數(shù)據(jù)是否放回原數(shù)組中,默認(rèn)為True(抽取出來的數(shù)據(jù)有重復(fù))

p:一個(gè)一維數(shù)組,其與數(shù)組a相對(duì)應(yīng),表示取數(shù)組a中每個(gè)元素的概率,默認(rèn)p=None表示選取的每個(gè)元素的概率相同

1.參數(shù)a

如果參數(shù)a=5,表示在[0, 5)中隨機(jī)輸出一個(gè)隨機(jī)數(shù)

import numpy as np
np.random.choice(5)  # 3

如果參數(shù)a = ['Guangzhou', 'Beijing', 'Shanghai', 'Shenzhen'],表示在['Guangzhou', 'Beijing', 'Shanghai', 'Shenzhen']中隨機(jī)輸出一個(gè)隨機(jī)數(shù)

import numpy as np
a = ['Guangzhou', 'Beijing', 'Shanghai', 'Shenzhen']
np.random.choice(a)  # 'Shenzhen'

2.參數(shù)size

在[0, 5)內(nèi)輸出3個(gè)數(shù)字并組成一維數(shù)組(ndarray)

import numpy as np
np.random.choice(5, 3)  # array([3, 2, 3])

在['Guangzhou', 'Beijing', 'Shanghai', 'Shenzhen']內(nèi)輸出3個(gè)值并組成一維數(shù)組(ndarry)

import numpy as np
a = ['Guangzhou', 'Beijing', 'Shanghai', 'Shenzhen']
# array(['Shanghai', 'Shenzhen', 'Shanghai'], dtype='<U9')
np.random.choice(a, size=3)

3.參數(shù)replace

replace=False表示非放回采樣(不會(huì)出現(xiàn)重復(fù)的元素) 

import numpy as np
# array([4, 0, 3])
np.random.choice(a=5, size=3, replace=False, p=None)

replace=True表示放回采樣(會(huì)出現(xiàn)重復(fù)的元素) 

import numpy as np
# array([1, 0, 0])
np.random.choice(a=5, size=3, replace=True, p=None)

4.參數(shù)p

參數(shù)p實(shí)際是個(gè)數(shù)組,數(shù)組元素的個(gè)數(shù)應(yīng)該與指定的參數(shù)a相同,用來規(guī)定選取a中每個(gè)元素的概率,默認(rèn)概率相同,我們可以使用參數(shù)p來按概率生成隨機(jī)數(shù)

例子1

import numpy as np
# array([3, 4, 3], dtype=int64)
np.random.choice(5, 3, p=[0.1, 0.2, 0.3, 0.1, 0.3])

上述代碼表示分別以p=[0.1, 0.2, 0.3, 0.1, 0.3]的概率從[0,1,2,3,4]這四個(gè)數(shù)中選取3個(gè)數(shù) 

例子2 

每天參加體育鍛煉的時(shí)間是多少?

A.沒時(shí)間鍛煉

B.10-20分鐘

C.20-40分鐘

D.50分鐘以上

假設(shè)有100人填上述選擇題,該題共有4個(gè)選項(xiàng)(ABCD),我們?nèi)绾伟锤怕士刂七@100個(gè)人選擇A的概率是0.3,B的概率是0.3,C的概率0.3,D的概率是0.1?

import numpy
lists = []
for i in range(1, 101):
    r = numpy.random.choice(a=numpy.arange(1,5), p=[0.3, 0.3, 0.3, 0.1])
    lists.append(r)
A = 0
B = 0
C = 0
D = 0
'''
數(shù)字1代表A
數(shù)字2代表B
數(shù)字3代表C
數(shù)字4代表D
'''
for i in lists:
    if i == 1:
        A = A + 1
    elif i == 2:
        B = B + 1
    elif i == 3:
        C = C + 1
    elif i == 4:
        D = D + 1
print("A選項(xiàng)個(gè)數(shù):", A)
print("B選項(xiàng)個(gè)數(shù):", B)
print("C選項(xiàng)個(gè)數(shù):", C)
print("D選項(xiàng)個(gè)數(shù):", D)

結(jié)果如下所示

A選項(xiàng)個(gè)數(shù): 27
B選項(xiàng)個(gè)數(shù): 26
C選項(xiàng)個(gè)數(shù): 36
D選項(xiàng)個(gè)數(shù): 11

到此這篇關(guān)于numpy.random.choice()函數(shù)的文章就介紹到這了,更多相關(guān)numpy.random.choice()函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論