正态分布
import random as np np.random.normal(均值, 标准差, 产生随机数数目)
柯西分布
标准柯西分布如下生成 numpy.random.standard_cauchy(size)
随机排列
t = [1,2,3] random.shuffle(t)
随机选取
如果使用numpy的话,使用numpy.random.choice。它可以从一个int数字或1维array里随机选取内容,并将选取结果放入n维array中返回。
#从np.arange(5)的范围内均匀随机取3个元素,等效于np.random.randint(0,5,3) >>> np.random.choice(5, 3) array([0, 3, 4]) #根据概率分布[0.1, 0, 0.3, 0.6, 0]从np.arange(5)里面取三个元素。 >>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0]) array([3, 3, 0]) # 从np.arange(5)的范围内均匀随机取3个元素,3个元素不可重复,等效于np.random.permutation(np.arange(5))[:3] >>> np.random.choice(5, 3, replace=False) array([3,1,0]) >>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0]) array([2, 3, 0]) # 随机选择的对象可以是任意的list,而不是仅仅为整数list >>> 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'], dtype='|S11')
随机整数
>>> np.random.randint(2, size=10) array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0]) >>> np.random.randint(1, size=10) array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) >>> np.random.randint(5, size=(2, 4)) array([[4, 0, 2, 1], [3, 2, 2, 0]]) ========================================= 引用自https://www.cnblogs.com/ymjyqsx/p/7395685.html