📜  np.random.randint 有种子吗 - Python (1)

📅  最后修改于: 2023-12-03 14:44:45.800000             🧑  作者: Mango

np.random.randint 有种子吗 - Python

在 Python 中, np.random.randint 是 NumPy 库中的一个函数,用于生成随机整数。它可以在给定的区间内生成指定个数的随机整数。

np.random.randint(low, high=None, size=None, dtype=int)

参数说明:

  • low: 生成的随机整数的最小值(包含该值)。
  • high: 生成的随机整数的最大值(不包含该值)。如果该参数未指定,则生成的整数范围为 [0, low) 。
  • size: 指定生成的随机整数的维度。可以是一个整数,用于生成一维数组,也可以是一个整数的元组,用于生成多维数组。
  • dtype: 指定生成的随机整数的数据类型,默认为 int

示例使用:

import numpy as np

# 生成一个在 [0, 5) 范围内的随机整数
random_int = np.random.randint(5)
print(random_int)  # 输出例如:3

# 生成一个在 [1, 10) 范围内的 2x3 的二维数组
random_array = np.random.randint(1, 10, size=(2, 3))
print(random_array)  # 输出例如:[[4 5 7] [3 2 9]]

默认情况下, np.random.randint 函数不使用种子生成随机整数。但是,我们可以通过设置种子(随机数生成器的状态)来控制随机数的输出。这可以用于重复实验或者使结果可重现。

为了设置种子,我们可以使用 np.random.seed 函数。这个函数的参数是一个整数种子值。

示例使用种子生成随机整数:

import numpy as np

np.random.seed(0)
random_int = np.random.randint(5)
print(random_int)  # 输出为 4

np.random.seed(0)
random_int = np.random.randint(5)
print(random_int)  # 仍然输出为 4

在上述示例中,两次生成随机整数的过程都使用了相同的种子值,并且输出结果是一致的。

总结:

  • np.random.randint 是一个用于生成随机整数的 NumPy 函数。
  • 它可以在给定的区间内生成指定个数的随机整数。
  • 默认情况下,它不使用种子生成随机整数,但我们可以通过设置种子值来控制随机数的输出,从而使结果可重现。