1. 程式人生 > >python numpy : random.rand 和 random.random 的區別

python numpy : random.rand 和 random.random 的區別

相同點:兩個函式都是在 [0, 1) 的均勻分佈中產生隨機數。

不同點:引數傳遞不同。random.random( )接收一個單獨的元組,而random.rand( )接收分開的引數

例如:

要生成3行5列的陣列,你可以

np.random.rand(3, 5)

或者

np.random.random((3, 5))

兩個函式功能完全一樣,numpy為什麼這麼做,這是有歷史原因的。可能是為了使 Matlab 使用者更容易學習 python+numpy 的組合。把其中一個函式去掉,所帶來的麻煩遠大於好處,因為有很多現存的程式碼使用了函式的不同版本。

思路來自

StackOverflow : np.random.rand vs np.random.random