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
解释-
让我们理解上面程序中发生了什么-
- 由于我们必须使用uniform()方法,我们已经导入了random模块。
- 在此之后,我们初始化了上限和下限,分别为8和12。
- 最后,我们将这两个值作为参数传递给uniform()。
- 在执行此程序时,将显示预期输出。
让我们再看一个程序,其中我们采用了相同的方法,但是提供了浮点数值作为上限和下限。
# 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 ]
解释-
现在是时候了解上面程序的解释了-
- 由于我们要使用uniform()方法,这次我们导入了NumPy模块。
- 下一步是在random.seed()中提供一个值,因为它用于初始化随机数生成器。
- 然后,我们在np.random.uniform()中初始化了大小、上界和下界的值,分别为4、0和1。
- 我们使用np.random.uniform()声明了num_arr,因为我们在这里生成了一个数组。
- 执行这个程序后,显示的预期输出是一个由三个值组成的数组。
现在,让我们来看另一个程序-
# 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'>
解释-
让我们了解一下这里发生了什么,
- 由于我们需要使用uniform()方法,这次我们导入了NumPy模块。
- 下一步是在random.seed()中提供一个值,因为它用于初始化随机数生成器。
- 在np.random.uniform()中,我们初始化了数组的大小(这次我们创建了一个二维数组),上界和下界分别为(3,3)、0和1。
- 我们使用np.random.uniform()声明了num_arr,因为我们在这里生成了一个数组。
- 在执行这个程序时,会显示预期的输出,即一个包含三个值和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'>
解释-
- 由于我们必须使用uniform()方法,这次我们导入了NumPy模块。
- 下一步是在random.seed()中提供一个值,因为它用于初始化随机数生成器。
- 之后,我们在np.random.uniform()中分别将数组的大小、上界和下界初始化为5、42和63(这次我们选择了一个明确的范围)。
- 我们使用np.random.uniform()声明num_arr,因为我们正在生成一个数组。
- 在执行此程序时,会显示预期的输出,即一个包含三个值和num_arr的类型的数组。
结论
在本教程中,我们学习了uniform()是什么以及它如何在各种Python程序中使用。