为什么numpy.empty_like()返回一个零填充的数组是不安全的?

时间:2017-06-14 02:17:34

标签: python arrays numpy

我对我在Python上阅读的数据分析感到困惑。

In [25]: np.empty((2, 3, 2))
Out[25]:
array([[[  4.94065646e-324,   4.94065646e-324],
        [  3.87491056e-297,   2.46845796e-130],
        [  4.94065646e-324,   4.94065646e-324]],
       [[  1.90723115e+083,   5.73293533e-053],
        [ -2.33568637e+124,  -6.70608105e-012],
        [  4.42786966e+160,   1.27100354e+025]]])
  

假设np.empty将返回全零的数组是不安全的。   在许多情况下,如前所示,它将返回未初始化的垃圾值。

numpy.zeros()返回一个带零的数组,但为什么假设numpy.empty()不是一个零数组是不安全的?

1 个答案:

答案 0 :(得分:3)

numpy.empty()的实现不会将零值写入为阵列保留的内存地址。这使得它更快,但留下了以前在内存中占据该空间的任何值。