我对我在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()
不是一个零数组是不安全的?
答案 0 :(得分:3)
numpy.empty()的实现不会将零值写入为阵列保留的内存地址。这使得它更快,但留下了以前在内存中占据该空间的任何值。