Python 随机均匀分布

2025年4月5日 | 阅读 4 分钟

在本教程中,我们将讨论 Python 的 random 模块中的 uniform() 方法,以及如何通过导入 NumPy 来使用它。

uniform() 返回指定范围内的浮点数或数字范围。

使用 uniform() 的语法是-

在这里,“a”代表上限,“b”代表下限。

让我们看一些示例,演示它在 Python 程序中的用法。

以下程序说明了如何在 Python 程序中使用它-

输出

The random number between 8 and 12 is:  10.14646142251812

说明:

让我们理解一下上面程序中发生了什么-

  1. 由于我们需要使用 uniform() 方法,我们导入了 random 模块。
  2. 在此之后,我们初始化了上限和下限,它们分别是 8 和 12。
  3. 最后,我们将这两个值作为参数传递给 uniform()。
  4. 执行此程序后,将显示预期的输出。

让我们再看一个程序,我们采用了相同的方法,但提供了浮点值作为上限和下限。

输出

The random number between 9.7 and 14.3 is :  11.521121715281813

说明:

过程与上一个程序相同,但在这里我们可以看到,即使提供十进制值,它也会显示所需的输出。

我们都知道 NumPy 模块在 Python 中用于执行各种数学运算,并且由于该模块提供的内置函数,我们的代码变得不那么复杂且效率更高。

让我们看看如何在这里使用 uniform(),

考虑下面的程序,

输出

The resultant array is:  [0.09310829 0.97165592 0.48385998 0.2425227 ]

说明:

现在是时候了解上面程序的解释了-

  1. 由于我们需要使用 uniform() 方法,这次我们导入了 NumPy 模块。
  2. 下一步是为 random.seed() 提供一个值,因为它用于初始化随机数生成器。
  3. 在此之后,我们在 np.random.uniform() 中初始化了数组大小、上限和下限的值,它们分别是 4、0 和 1。
  4. 我们使用 np.random.uniform() 声明了 num_arr,因为我们正在生成一个数组。
  5. 执行此程序后,将显示预期的输出,它是一个包含三个值的数组。

现在,让我们看看另一个程序-

输出

The resultant array is:  [[0.5488135  0.71518937 0.60276338]
 [0.54488318 0.4236548  0.64589411]
 [0.43758721 0.891773   0.96366276]]
<class 'numpy.ndarray'>

说明:

让我们理解一下这里发生了什么,

  1. 由于我们需要使用 uniform() 方法,这次我们导入了 NumPy 模块。
  2. 下一步是为 random.seed() 提供一个值,因为它用于初始化随机数生成器。
  3. 在此之后,我们在 np.random.uniform() 中初始化了数组大小(这次我们创建了一个二维数组)、上限和下限的值,它们分别是 (3,3)、0 和 1。
  4. 我们使用 np.random.uniform() 声明了 num_arr,因为我们正在生成一个数组。
  5. 执行此程序后,将显示预期的输出,它是一个包含三个值以及 num_arr 类型的数组。

最后,是时候讨论本文的最后一个程序了,

输出

The resultant array is:  [53.52508358 57.01897669 54.6580309  53.44254684 50.89675079]
<class 'numpy.ndarray'>

说明:

  1. 由于我们需要使用 uniform() 方法,这次我们导入了 NumPy 模块。
  2. 下一步是为 random.seed() 提供一个值,因为它用于初始化随机数生成器。
  3. 在此之后,我们在 np.random.uniform() 中初始化了数组大小、上限和下限的值,它们分别是 5、42 和 63(这次我们采取了一个确定的范围)。
  4. 我们使用 np.random.uniform() 声明了 num_arr,因为我们正在生成一个数组。
  5. 执行此程序后,将显示预期的输出,它是一个包含三个值以及 num_arr 类型的数组。

结论

在本教程中,我们学习了 uniform() 是什么以及它如何在各种 Python 程序中使用。