本文簡要介紹 python 語言中 numpy.random.RandomState.choice
的用法。
用法:
random.RandomState.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),通用采樣器也會產生與優化采樣器不同的樣本。使用此函數無法從二維數組中采樣隨機行,但可以使用Generator.choice通過其
axis
關鍵詞。例子:
從大小為 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 RandomState.chisquare用法及代碼示例
- Python numpy RandomState.standard_exponential用法及代碼示例
- Python numpy RandomState.bytes用法及代碼示例
- Python numpy RandomState.uniform用法及代碼示例
- Python numpy RandomState.standard_gamma用法及代碼示例
- Python numpy RandomState.seed用法及代碼示例
- Python numpy RandomState.power用法及代碼示例
- Python numpy RandomState.standard_normal用法及代碼示例
- Python numpy RandomState.geometric用法及代碼示例
- Python numpy RandomState.random_sample用法及代碼示例
- Python numpy RandomState.gumbel用法及代碼示例
- Python numpy RandomState.logseries用法及代碼示例
- Python numpy RandomState.noncentral_chisquare用法及代碼示例
- Python numpy RandomState.wald用法及代碼示例
- Python numpy RandomState.poisson用法及代碼示例
- Python numpy RandomState.randn用法及代碼示例
- Python numpy RandomState.vonmises用法及代碼示例
- Python numpy RandomState.gamma用法及代碼示例
- Python numpy RandomState.zipf用法及代碼示例
- Python numpy RandomState.triangular用法及代碼示例
- Python numpy RandomState.f用法及代碼示例
- Python numpy RandomState.shuffle用法及代碼示例
- Python numpy RandomState.rayleigh用法及代碼示例
- Python numpy RandomState.randint用法及代碼示例
- Python numpy RandomState.permutation用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.random.RandomState.choice。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。