【问题标题】:Filling numpy array using [:,:] crashes python?使用 [:,:] 填充 numpy 数组会使 python 崩溃?
【发布时间】:2011-07-17 11:29:37
【问题描述】:

您好,

我遇到了一个有趣的错误,想知道是否有人知道原因。

我创建了几个 dtype 对象的 numpy 数组,并希望用空字符串初始化它们,所以我做了以下创建它们:

txtInputs=empty((7,12), dtype=object)
txtInputs[:, :]=''

repeated...

除了这些变量是函数的本地变量并且在函数返回时消失之外,它们之后的使用方式无关紧要。但是,我发现当我连续多次调用执行此操作的函数时,我的程序崩溃并出现错误,提示 pythonw.exe 已停止工作。这种崩溃是一致的,并且发生在特定数量的调用之后,并且该数字永远不会改变。

但是,如果我将第二行替换为:

txtInputs.fill('')

它不会崩溃。使用 [:,:]='' 填充 numpy 数组有什么问题??

谢谢。

附言。我正在使用 python 2.5 和 numpy 1.0.4

【问题讨论】:

  • 请注意,有时它会给我一个 C++ 运行时库错误,有时它只是说 pythonw.exe 已停止工作。所以它似乎只指向 Windows...
  • 我询问主要是出于好奇——自 1.0.4 以来已经有 9 个 NumPy 版本。询问的另一个原因是我无法访问这么旧版本的 NumPy,所以我无法重现您的问题。如果这是 NumPy 问题,很可能同时已修复,但我不知道这是否是 NumPy 问题。

标签: python arrays string crash numpy


【解决方案1】:

numpy 1.5.1 不会出现此错误。我们在 numpy 1.0.4 前后修复了很多错误,特别是在对象和字符串 dtype 方面。这大概就是其中之一。从那时起,该错误显然已得到修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多