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 的組合。把其中一個函數去掉,所帶來的麻煩遠大於好處,因為有很多現存的代碼使用了函數的不同版本。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM