相同点:两个函数都是在 [0, 1) 的均匀分布中产生随机数。
不同点:参数传递不同。random.random( )接收一个单独的元组,而random.rand( )接收分开的参数
例如:
要生成3行5列的数组,你可以
np.random.rand(3, 5)
或者
np.random.random((3, 5))
两个函数功能完全一样,numpy为什么这么做,这是有历史原因的。可能是为了使 Matlab 用户更容易学习 python+numpy 的组合。把其中一个函数去掉,所带来的麻烦远大于好处,因为有很多现存的代码使用了函数的不同版本。
思路来自
本文对比了numpy库中两种生成均匀分布随机数的方法:np.random.rand和np.random.random。两者功能相同,主要区别在于参数传递方式。np.random.rand接受独立参数,而np.random.random接收一个元组。这种差异可能源于为了让Matlab用户更易过渡到python+numpy。尽管存在冗余,但保留两者避免了大量现有代码的修改。
3826





