numpy : random.rand 和 random.random 的区别

相同点:两个函数都是在 [0, 1) 的均匀分布中产生随机数。

不同点:参数传递不同。random.random( )接收一个单独的元组,而random.rand( )接收分开的参数

np.random.seed(1)
rand = np.random.rand(2, 2)
print(rand)
'''
[[4.17022005e-01 7.20324493e-01]
 [1.14374817e-04 3.02332573e-01]]
'''
np.random.seed(1)
random = np.random.random((2, 2))
print(random)
'''
[[4.17022005e-01 7.20324493e-01]
 [1.14374817e-04 3.02332573e-01]]
'''

两个函数功能完全一样,numpy为什么这么做,这是有历史原因的。可能是为了使 Matlab 用户更容易学习 python+numpy 的组合。把其中一个函数去掉,所带来的麻烦远大于好处,因为有很多现存的代码使用了函数的不同版本。

原文地址:https://www.cnblogs.com/answerThe/p/11364794.html