在 NumPy 中,我们有一个名为 random
的模块,它提供了生成随机数的函数。
这些函数可用于为测试算法生成随机输入。
在 NumPy 中生成随机整数
如前所述,我们使用 random
模块在 NumPy 中处理随机数。
让我们看一个例子。
import numpy as np
# generate random integer from 0 to 9
random_number = np.random.randint(0, 10)
print(random_number)
# Output: 7
在此示例中,我们使用了 random
模块来生成一个随机数。random.randint()
函数接受两个参数,
- 0 - 下界(包含)
- 10 - 上界(不包含)
这里,random.randint()
返回一个介于 0 和 9 之间的随机整数。
由于输出将是介于 0 和 9 之间的随机生成的整数,因此每次运行代码时,我们都会看到不同的输出。
注意:我们也可以这样导入和使用 random
模块
from numpy import random
random_number = random.randint(0, 10)
print(random_number)
这里,语法略有不同,但输出将与上面相同,我们将获得一个介于 0 和 9 之间的随机整数。
在 NumPy 中生成随机浮点数
我们还可以生成一个介于 0 和 1 之间的随机浮点数。为此,我们使用 random.rand()
函数。例如,
import numpy as np
# generate random float-point number between 0 and 1
random_number = np.random.rand()
print(random_number)
# Output: 0.7696638323107154
这里,random.rand()
生成一个介于 0 和 1 之间的随机浮点数。
由于该数字是随机生成的,因此每次运行代码时,输出值都可能不同。
在 NumPy 中生成随机数组
NumPy 的随机模块也可用于生成随机数数组。例如,
import numpy as np
# generate 1D array of 5 random integers between 0 and 9
integer_array = np.random.randint(0, 10, 5)
print("1D Random Integer Array:\n",integer_array)
# generate 1D array of 5 random numbers between 0 and 1
float_array = np.random.rand(5)
print("\n1D Random Float Array:\n",float_array)
# generate 2D array of shape (3, 4) with random integers
result = np.random.randint(0, 10, (3,4))
print("\n2D Random Integer Array:\n",result)
输出
1D Random Integer Array: [9 7 8 4 2] 1D Random Float Array: [0.7877579 0.01723754 0.93995075 0.17126388 0.69913594] 2D Random Integer Array: [[0 5 3 8] [3 9 2 1] [8 7 1 2]]
这里,
np.random.randint(0, 10, 5)
- 生成一个包含 5 个介于 0 和 9 之间随机整数的一维数组。np.random.rand(5)
- 生成一个包含 5 个介于 0 和 1 之间随机数的-一维数组。np.random.randint(0, 10, (3,4))
- 生成一个形状为 (3, 4) 的二维数组,其中包含介于 0 和 9 之间的随机整数。
从 NumPy 数组中选择随机数
要从 NumPy 数组中选择一个随机数,我们可以使用 random.choice()
函数。
让我们看一个例子。
import numpy as np
# create an array of integers from 1 to 5
array1 = np.array([1, 2, 3, 4, 5])
# choose a random number from array1
random_choice = np.random.choice(array1)
print(random_choice)
# Output: 3
在上例中,np.random.choice(array1)
函数从 array1 数组中选择一个随机数。
需要注意的是,输出将是 array1 中的一个随机数,每次运行代码时都会不同。