【问题标题】:NUMPY: What does np.empty(()) do in 2D arrays?NUMPY:np.empty(()) 在二维数组中做了什么?
【发布时间】:2020-05-11 18:36:22
【问题描述】:

np.empty(()) 究竟做了什么?

例如,如果我想创建一个 5 行和 5 列的空数组,我会使用 np.empty((5,5))。这给出了一个随机输出,如:

[[0.57061489 0.57883359 0.5746548  0.57756612 0.57587218]
 [0.62539185 0.62139618 0.62313292 0.62097162 0.62221129]
 [0.70896235 0.57620393 0.73345734 0.53891594 0.75331689]
 [0.72820808 0.56994986 0.78769608 0.47609684 0.8334235 ]
 [0.62921645 0.70930812 0.6068869  0.74827839 0.55498477]]

1.为什么它给出0-1之间的随机输出而不是从内存中生成值 - 比如 7.6662e-301、5.3767e-301..... 等等?

如果我在新文件中再次运行代码np.empty((5,5)),我会得到与上面相同的输出。 为什么会这样?

【问题讨论】:

  • The docs 指定“给定形状的未初始化(任意)数据数组”。在我的机器上我得到array([[1.40031700e-311, 1.40037027e-311, 1.37961641e-306, etc。这些值可能只是该内存地址中曾经存在的任何内容的表示,转换为float
  • @CoryKramer 是的,可能是这样,我在我的机器上重新启动了内核并获得了这些内存地址值。以前我将我的空数组等同于另一个数组。所以它将这些值带入了它的内存地址。好的,谢谢!
  • 除非您打算以某种方式设置 every 元素,否则不要使用np.empty。这就是任意的含义。
  • @hpaulj 是的,我实际上想将这些元素与其他元素一起设置......

标签: python arrays numpy memory random


【解决方案1】:

给定形状、数据类型和顺序的未初始化(任意)数据数组

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 2021-11-29
    • 1970-01-01
    • 2020-09-08
    • 2021-07-18
    • 2021-06-10
    相关资源
    最近更新 更多