Python Numpy 随机数生成常用方法
1、生成随机数
1)均匀分布随机数
numpy.random.rand(d0, d1, ..., dn):生成在 [0, 1) 区间的均匀分布随机数。d0, d1, ..., dn:表示生成随机数的维度。
numpy.random.randint(low, high=None, size=None, dtype=int):生成指定范围的随机整数。
参数说明:
| 参数 | 说明 | 
| low | 指定随机数的最小值。 | 
| high | 指定随机数的最大值。如果省略,则 high 默认为 low + 1。 | 
| size | 指定生成随机数的个数。如果省略,则 size 默认为 1。 | 
| dtype | 指定随机数的数据类型。 | 
使用示例:
2)正态分布随机数
numpy.random.randn(d0, d1, ..., dn):生成标准正态(均值0,标准差1)分布的随机数。d0, d1, ..., dn:表示生成随机数的维度。
numpy.random.normal(loc=0.0, scale=1.0, size=None):生成正态分布的随机数,可指定均值和标准差。
参数说明:
| 参数 | 说明 | 
| loc | 指定均值。 | 
| scale | 指定标准差。 | 
| size | 指定生成随机数的个数。 如果省略,则 size 默认为 1。 | 
使用示例:
3)二项分布随机数
numpy.random.binomial(n, p, size=None):生成二项分布随机数。
参数说明:
| 参数 | 说明 | 
| n | 试验次数。 | 
| p | 每次试验成功的概率。 | 
| size | 要生成的随机数个数。 | 
使用示例:
4)泊松分布随机数
numpy.random.poisson(lam=1.0, size=None):生成泊松分布随机数。
参数说明:
| 参数 | 说明 | 
| lam | 固定区间内平均发生事件的次数。 | 
| size | 要生成的随机数个数。 | 
使用示例:
5)分布随机数
numpy.random.exponential(scale=1.0, size=None):生成指数分布随机数。
参数说明:
| 参数 | 说明 | 
| scale | 指数分布的参数。 | 
| size | 要生成的随机数个数。 | 
使用示例:
2、随机抽样和洗牌
可以使用NumPy库可以轻松地进行随机抽样和洗牌。常用函数如下,
1)随机抽样
numpy.random.choice(a, size=None, replace=True, p=None):从给定的一维数组或整数范围中随机抽样。
参数说明:
| 参数 | 说明 | 
| a | 指定要抽取元素的序列。 | 
| size | 指定要抽取的元素个数。 如果省略,则 size 默认为 1。 | 
| replace | 指定是否允许重复抽取。 如果为 True,则允许重复抽取; 如果为 False,则不允许重复抽取。 | 
| p | 指定每个元素被抽取的概率。 如果省略,则每个元素的概率相同。 | 
使用示例:
2)洗牌和排列
numpy.random.shuffle(x):对数组 x 进行原地洗牌(改变数组本身的顺序),于将序列 x 中的元素随机打乱。x:指定要打乱的序列。
numpy.random.permutation(x):返回数组 x 的一个随机排列或返回一个随机排列的范围。x:指定要排列的序列。
使用示例:
3、设置随机数种子
numpy.random.seed(seed=None):通过设置随机数种子,可以确保随机数生成器的可重复性。seed:指定种子。如果省略,则使用系统时间作为种子。
使用示例:
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号