在NumPy
中有两个函数,一个是numpy.random.rand()
,另一个是numpy.empty()
。这两个函数都给我相同的输出。
代码:
>>> import numpy as np
>>> np.random.rand(3,2)
array([[0.54372255, 0.68730993],
[0.97759727, 0.39876009],
[0.47325882, 0.57949219]])
>>> np.empty([3,2])
array([[0.54372255, 0.68730993],
[0.97759727, 0.39876009],
[0.47325882, 0.57949219]])
因为它们都给出相同的输出,所以两者是相同还是不同? 这里我的意思是两个函数具有相似的实现或者它们具有不同的实现
如果两者不同,那么哪一个更好或更有效?
最佳答案
他们是不同的!
兰德,基于种子生成给定形状的一些数字。
另一方面,空返回一个未初始化数组,因此这意味着它指向一个随机内存位置,意外地返回随机值,但失控,在您的示例中,gc 已释放内存位置,因此同一区域被具有相同形状的空区域占据。
所以不要使用空来生成随机值
关于python - `numpy.empty()` 和 `numpy.random.rand()` 相同或不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65578339/