Python 使用NumPy从均匀分布中生成随机数
高斯分布,或称正态分布,是在统计分析和数据建模中常用的分布。它呈现出熟悉的钟形曲线,代表了一个实值随机变量的连续概率分布。它的钟形曲线特征和常用于模拟现实世界现象。
random模块生成一组从具有给定均值和标准差的正态分布中提取的伪随机数。
语法
numpy.random.uniform(low=0.0, high=1.0, size=None)
参数
low : 它以浮点数或类似数组的值作为其参数,表示可以生成的最小值。默认值为0。
high : 与low非常相似,但默认值设置为1。
size : 它以整数或整数元组的值为其参数,确定要生成的随机数的数量。
示例
以下示例演示如何使用默认的下限和上限(0和1)生成随机数。
步骤
- 导入numpy库并将其重命名为nmp。
-
使用numpy.random.uniform函数,不指定明确的下限和上限。
-
将size参数设置为5,以从均匀分布中生成五个随机数。
-
将生成的随机数存储在单独的变量中。
import numpy as nmp
# Generate five random numbers from the uniform distribution
random_numbers = nmp.random.uniform(size=5)
# Print the generated random numbers
print("The Random Generated Numbers Are:", random_numbers)
输出
The Random Generated Numbers Are: [0.16686196 0.00839822 0.70146929 0.98215339 0.65254042]
示例
下面的代码演示了使用numpy从均匀分布生成10个具有特定范围的随机数。
import numpy as np
# Set the lower and upper bounds
lower_bound = 10 # Lower bound of the distribution
upper_bound = 20 # Upper bound of the distribution
# Generate five random numbers from the uniform distribution
random_numbers = np.random.uniform(low=lower_bound, high=upper_bound, size=10)
# Print the generated random numbers
print("Generated Random Numbers:", random_numbers)
输出
Generated Random Numbers: [12.17244749 19.45438526 17.23474221 12.62434952
14.93329819 19.24373114 14.46020672 10.5430179 13.23576976 16.82255347]
示例
在本例中,我们将使用NumPy的均匀分布生成一个自定义范围的随机数的二维数组。
步骤
- 导入numpy库。
-
设置均匀分布的下限和上限值。
-
将下限和上限值作为参数传递,并指定参数的大小。
-
将生成的随机数存储在一个单独的变量中。
import numpy as nmpy
# Set the lower and upper bounds
lower_bound = 0
upper_bound = 100
# Generate a 2D array of random numbers from the uniform distribution
random_numbers = nmpy.random.uniform(low=lower_bound, high=upper_bound, size=
(3, 5))
# Print the generated random numbers
print("The 2D array Randomly generated Numbers:")
print(random_numbers)
输出
The 2D array Randomly generated Numbers:
[[34.9530181 47.99901914 80.16861203 5.86164601 24.51089145]
[87.87714454 79.73164792 17.19521485 67.10860954 54.12845578]
[75.46746683 55.00061495 93.79876457 74.6587852 33.00568042]]
结论
NumPy是开发人员在Python中从均匀分布生成随机数的强大工具,可用于各种应用程序、模拟和生成测试用例的随机数据点,常用于生成用于机器学习应用程序的合成数据以创建随机输入。