python - `numpy.empty()` 和 `numpy.random.rand()` 相同或不同

标签 python function numpy random

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/

相关文章:

python - 如何在 Pyramid notfound_view_config中返回HTTPMovedPermanently(301状态)而不是HTTPFound(302)

c - 如何在c中正确分配和打印结构指针?

python - 基于 CSV 创建二维数组

python - 重新调整 3d numpy 数组中的值

python - celery 、Django 和@shared_task

python - 计算 Python 中感兴趣的频率 F 周围每个频带的能量

python - 为什么这个 tensorflow 训练需要这么长时间?

javascript - 将两个功能合二为一

sql-server - 如果 SQL Server CASE 值为 NULL,则不返回任何内容

python - 如何将 numpy 字符串数组(带逗号)保存到 CSV?