numpy.random模块用法总结
`numpy.random`模块是Python中用于生成随机数的一个重要工具,主要用于数值计算和数据分析。这个模块提供了多种函数,可以生成不同分布的随机数,如均匀分布、正态分布、二项分布等。以下是对一些常用函数的详细解释: 1. **numpy.random.uniform(low=0.0, high=1.0, size=None)** 这个函数生成符合均匀分布的浮点数。参数`low`和`high`分别定义了取值的下限和上限(不包括`high`),默认值为[0.0, 1.0)。`size`参数用于指定生成的随机数的形状,如果不提供,将返回一个单独的随机数。例如: - `random.uniform()` 返回一个在[0.0, 1.0)范围内的随机浮点数。 - `random.uniform(size=1)` 返回一个包含一个随机数的一维数组。 - `random.uniform(5, 6)` 返回一个在[5.0, 6.0)范围内的随机浮点数。 - `random.uniform(5, 6, size=(2,3))` 返回一个形状为(2,3)的二维数组,其中每个元素都在[5.0, 6.0)范围内。 2. **numpy.random.rand(d0, d1, ..., dn)** 类似于`uniform`函数,但默认生成的是[0, 1)范围内的随机浮点数。`rand`函数接受多个参数来定义数组的维度。例如: - `random.rand()` 返回一个在[0.0, 1.0)范围内的随机浮点数。 - `random.rand(1)` 返回一个一维数组,包含一个在[0.0, 1.0)范围内的随机浮点数。 - `random.rand(3,2)` 返回一个3行2列的二维数组,所有元素在[0.0, 1.0)范围内。 3. **numpy.random.randint(low, high=None, size=None, dtype='I')** 生成在给定范围内的整数。`low`是下界,`high`是上界(不包括)。如果`high`未指定,则默认为`low+1`。`size`参数用于设置生成数组的形状。`dtype`参数用于指定数据类型。例如: - `random.randint(8)` 返回一个在[0, 8)范围内的随机整数。 - `random.randint(8, size=1)` 返回一个形状为(1,)的一维数组,包含一个在[0, 8)范围内的随机整数。 - `random.randint(8, size=(2,2,3))` 返回一个3维数组,所有元素在[0, 8)范围内。 4. **numpy.random.random_integers(low, high=None, size=None)** 与`randint`类似,但这里的边界是闭合的,即包含`low`和`high`。如果`high`未指定,则默认为`low`。请注意,此函数在numpy 1.17版本后已被弃用,推荐使用`randint`代替。 5. **numpy.random.random(size=None)** 生成[0.0, 1.0)之间的浮点数。`size`参数可以用来指定生成数组的形状。例如: - `random.random(5)` 返回一个包含5个随机浮点数的一维数组。 - `random.random()` 返回一个在[0.0, 1.0)范围内的随机浮点数。 其他相关的函数还包括`numpy.random.randn(d0, d1, ..., dn)`,它生成符合标准正态分布(均值为0,方差为1)的随机数;`numpy.random.normal(loc=0.0, scale=1.0, size=None)`允许指定均值和方差;以及`numpy.random.choice(a, size=None, replace=True, p=None)`,用于从给定的一组值中随机选择,可选是否放回和指定概率分布。 在实际应用中,`numpy.random`模块的这些函数经常被用于模拟实验、数据生成、模型训练等各种场景,对于理解和掌握Python中的数值计算是非常重要的。通过灵活运用这些函数,我们可以创建各种随机数据集,以满足不同的计算需求。