本文簡要介紹 python 語言中 numpy.random.choice
的用法。
用法:
random.choice(a, size=None, replace=True, p=None)
從給定的一維數組生成隨機樣本
注意
新代碼應改為使用
default_rng()
實例的choice
方法;請參閱快速入門。- a: 一維數組或int
如果是 ndarray,則從其元素生成隨機樣本。如果是 int,則生成隨機樣本,就好像它是
np.arange(a)
- size: int 或整數元組,可選
輸出形狀。例如,如果給定的形狀是
(m, n, k)
,則繪製m * n * k
樣本。默認為無,在這種情況下返回單個值。- replace: 布爾值,可選
樣品是否有更換。默認值為 True,這意味著可以多次選擇
a
的值。- p: 一維數組,可選
與 a 中的每個條目相關聯的概率。如果未給出,則示例假定
a
中所有條目的均勻分布。
- samples: 單項或 ndarray
生成的隨機樣本
- ValueError
如果 a 是 int 並且小於零,如果 a 或 p 不是一維,如果 a 是大小為 0 的類似數組,如果 p 不是概率向量,如果 a 和 p 具有不同的長度,或者如果replace=False並且樣本大小大於總體大小
參數:
返回:
拋出:
注意:
通過
p
設置用戶指定的概率使用比默認設置更通用但效率更低的采樣器。即使p
的每個元素都是 1 /len(a),通用采樣器也會產生與優化采樣器不同的樣本。使用此函數無法從二維數組中采樣隨機行,但可以通過
axis
關鍵字使用Generator.choice
。例子:
從大小為 3 的 np.arange(5) 生成均勻隨機樣本:
>>> np.random.choice(5, 3) array([0, 3, 4]) # random >>> #This is equivalent to np.random.randint(0,5,3)
從大小為 3 的 np.arange(5) 生成非均勻隨機樣本:
>>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0]) array([3, 3, 0]) # random
從大小為 3 的 np.arange(5) 生成均勻隨機樣本,無需替換:
>>> np.random.choice(5, 3, replace=False) array([3,1,0]) # random >>> #This is equivalent to np.random.permutation(np.arange(5))[:3]
從大小為 3 的 np.arange(5) 生成非均勻隨機樣本,無需替換:
>>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0]) array([2, 3, 0]) # random
上麵的任何一個都可以用任意類似數組的方式重複,而不僅僅是整數。例如:
>>> aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher'] >>> np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3]) array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'], # random dtype='<U11')
相關用法
- Python numpy random.chisquare用法及代碼示例
- Python numpy random.mtrand.RandomState.wald用法及代碼示例
- Python numpy random.mtrand.RandomState.multivariate_normal用法及代碼示例
- Python numpy random.standard_exponential用法及代碼示例
- Python numpy random.mtrand.RandomState.gumbel用法及代碼示例
- Python numpy random.mtrand.RandomState.multinomial用法及代碼示例
- Python numpy random.rand用法及代碼示例
- Python numpy random.mtrand.RandomState.logistic用法及代碼示例
- Python numpy random.mtrand.RandomState.shuffle用法及代碼示例
- Python numpy random.triangular用法及代碼示例
- Python numpy random.noncentral_f用法及代碼示例
- Python numpy random.mtrand.RandomState.poisson用法及代碼示例
- Python numpy random.lognormal用法及代碼示例
- Python numpy random.mtrand.RandomState.seed用法及代碼示例
- Python numpy random.mtrand.RandomState.triangular用法及代碼示例
- Python numpy random.gumbel用法及代碼示例
- Python numpy random.mtrand.RandomState.weibull用法及代碼示例
- Python numpy random.shuffle用法及代碼示例
- Python numpy random.geometric用法及代碼示例
- Python numpy random.multinomial用法及代碼示例
- Python numpy random.logseries用法及代碼示例
- Python numpy random.mtrand.RandomState.rand用法及代碼示例
- Python numpy random.mtrand.RandomState.power用法及代碼示例
- Python numpy random.mtrand.RandomState.randint用法及代碼示例
- Python numpy random.mtrand.RandomState.choice用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.random.choice。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。