np.random.rand 和 np.random.random 都是 NumPy 库中用于生成随机数的函数,它们在功能上相似但在使用上有些细微的差别。
np.random.rand
这个函数接受多个整数参数,并返回一个填充了 [0, 1) 区间内随机数的数组。这个数组的形状由传入的参数决定。
# 生成一个 2x3 的随机数组
arr1 = np.random.rand(2, 3)
np.random.random
这个函数接受一个表示输出数组形状的元组或列表作为参数。
# 生成一个 2x3 的随机数组
arr2 = np.random.random((2, 3))
相似性和差异性
1、相似性: 两者都生成 [0, 1) 之间的随机浮点数。
2、差异性: 参数传递方式不同。np.random.rand 直接接受维度大小作为参数,而 np.random.random 需要一个形状元组。
代码示例
import numpy as np
# 使用 np.random.rand
arr1 = np.random.rand(2, 3)
print("With np.random.rand: ", arr1)
# 使用 np.random.random
arr2 = np.random.random((2, 3))
print("With np.random.random: ", arr2)
总结与建议
虽然这两个函数在生成随机数上几乎相同,但选择哪个主要取决于你觉得哪种参数传递方式更方便或更符合你的习惯。