Python 随机均匀分布

Python 随机均匀分布

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

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

使用uniform()的语法是-

random.uniform(a,b)

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

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

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

# Import the random module
import random
# Initialize the upper and lower limits
x = 8
y = 12
# Displaying the random number
print ("The random number between 8 and 12 is : ", end = " ")
#using random.uniform()
print(random.uniform(x,y))

输出:

The random number between 8 and 12 is:  10.14646142251812

解释-

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

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

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

# Import the random module
import random
# Initialize the upper and lower limits
x = 9.7
y = 14.3
# Displaying the random number
print("The random number between 9.7 and 14.3 is: ", end = " ")
#using random.uniform()
print(random.uniform(x,y))

输出:

The random number between 9.7 and 14.3 is :  11.521121715281813

说明-

这个过程与之前的程序相同,但在这里我们可以观察到它在提供小数值时显示所需的输出。

我们都知道NumPy模块用于在Python中进行不同的数学运算,由于这个模块提供了各种内置函数,我们的代码变得更简单、更高效。

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

考虑下面给出的程序,

# Importing the NumPy module
import numpy as np
np.random.seed(55)
# Creating an array of size four
num_arr = np.random.uniform(size = 4, low = 0, high = 1)
# Displaying the values of array
print("The resultant array is: ", num_arr)

输出:

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. 执行这个程序后,显示的预期输出是一个由三个值组成的数组。

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

# Importing the numpy module
import numpy as np
np.random.seed(0)
# Creating an array of size four
num_arr = np.random.uniform(size = (3, 3), low = 0, high = 1)
#Displaying the values of array
print("The resultant array is: ", num_arr)
# Displaying the type of num_arr
print(type(num_arr))

输出:

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的类型的数组。

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

#Importing the numpy module
import numpy as np
np.random.seed(0)
#Creating an array of size five
num_arr=np.random.uniform(size = 5, low = 42, high = 63)
#Displaying the values of array
print("The resultant array is: ", num_arr)
#Displaying the type of num_arr
print(type(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程序中使用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程