np.random.choice(a, size=None, replace=True, p=None)
从给定的一维阵列生成随机样本
例1:从np.arange(5)中生成3个均匀的随机样本
np.random.choice(5, 3)
array([0, 3, 4]) # random
#This is equivalent to np.random.randint(0,5,3)
例2:从np.arange(5)中生成3个非均匀的随机样本
np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
array([3, 3, 0]) # random
例3:从np.arange(5)中生成3个均匀的随机样本,无需替代
np.random.choice(5, 3, replace=False)
array([3,1,0]) # random
#This is equivalent to np.random.permutation(np.arange(5))[:3]
例4:上述任何一项都可以用任意数组重复,而不仅仅是整数。
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')