📜  Python中的Numpy.random中的rand vs normal(1)

📅  最后修改于: 2023-12-03 15:04:35.099000             🧑  作者: Mango

Python中的Numpy.random中的rand vs normal

NumPy是一个流行的Python库,它提供了支持数组,矩阵和向量计算的高效工具。NumPy库中的random子库提供了随机数生成器。其中的rand和normal方法都是用于生成随机数的。但它们在生成随机数的方式上是有区别的。

rand方法

rand方法用于生成指定形状的随机数数组,数组中的每个元素的值在[0,1)之间。使用rand方法可以生成0到1之间的均匀分布的随机数。下面是一个使用rand方法生成随机数的示例。

import numpy as np

random_array = np.random.rand(3, 4) 

print(random_array)

输出:

[[0.92034807 0.43011309 0.9        0.32111081]
 [0.05652366 0.9458713  0.99609603 0.69849188]
 [0.81979718 0.35488855 0.16369706 0.50903987]]

在上面的示例中,np.random.rand(3, 4)会生成一个3行,4列的数组。该数组中的每个元素都是在[0,1)之间的随机数。

normal方法

normal方法用于生成指定形状的随机数数组,数组中的每个元素的值符合正态分布。正态分布也称为高斯分布,是自然界中常见的一种分布类型。下面是一个使用normal方法生成随机数的示例。

import numpy as np

random_array = np.random.normal(0, 1, 3) 

print(random_array)

输出:

[ 1.044076   -0.05052366 -3.96134725]

在上面的示例中,np.random.normal(0, 1, 3)会生成一个形状为(3,)的数组。该数组中的每个元素都是服从均值为0,标准差为1的正态分布的随机数。

参数解释

rand方法和normal方法都有一些参数,这些参数会影响生成的随机数的形状和分布特征。

rand方法的参数
  • size:用于指定生成随机数数组的形状。size可以为一个整数,表示生成的数组是一维的,也可以是一个元组,表示生成的数组是多维的。
normal方法的参数
  • loc:表示生成的随机数的均值。默认值为0。
  • scale:表示随机数的标准差。默认值为1。
  • size:用于指定生成随机数数组的形状。
结论
  • rand方法生成的是0到1之间的均匀分布的随机数。
  • normal方法生成的是符合正态分布的随机数。
  • 两种方法的参数略微有些不同。