当前位置: 首页 > 面试题库 >

numpy中``less_equal中遇到无效值''的原因可能是什么

吴德辉
2023-03-14
问题内容

我遇到了运行时警告

 RuntimeWarning: invalid value encountered in less_equal

由我的这一行代码生成:

center_dists[j] <= center_dists[i]

两个center_dists[j]center_dists[i]是numpy的阵列

该警告可能是什么原因?


问题答案:

这很可能是由于所np.nan涉及的输入中的某处而发生的。它的一个示例如下所示-

In [1]: A = np.array([4, 2, 1])

In [2]: B = np.array([2, 2, np.nan])

In [3]: A<=B
RuntimeWarning: invalid value encountered in less_equal
Out[3]: array([False,  True, False], dtype=bool)

对于所有涉及的比较np.nan,它将输出False。让我们确认一下以进行broadcasted比较。这是一个示例-

In [1]: A = np.array([4, 2, 1])

In [2]: B = np.array([2, 2, np.nan])

In [3]: A[:,None] <= B
RuntimeWarning: invalid value encountered in less_equal
Out[3]: 
array([[False, False, False],
       [ True,  True, False],
       [ True,  True, False]], dtype=bool)

请注意输出中的第三列,该列与包含第三元素的比较相对应np.nanB并得出所有False值。



 类似资料:
  • 问题内容: 当我运行代码时,偶尔会以四个为一组的形式收到这些警告。我试图通过在某些语句之前和之后放置调试消息来定位源,以查明源。 这是Numpy警告,什么是双标量? 从Numpy我使用 我也使用Matplotlib 问题答案: 看起来像是浮点计算错误。检查numpy.seterr函数以获取有关发生位置的更多信息。

  • 问题内容: 我写了以下脚本: 但是我得到了这个结果,并发生了错误: 看来输入元素太小,以至于python将它们设为零,但是除法确实有其结果。 如何解决这类问题? 问题答案: 您无法解决。简单地说,您不能执行零除。 发生这种情况是因为2的指数非常大,为负数,因此结果四舍五入为零。 在这种情况下,由于除以零而返回。 现在,要解决您的问题,您可以: 去像mpmath这样的高精度数学图书馆。但这没那么有趣

  • 问题内容: 我在雄猫服务器(+ liferay)上收到此异常 我的课是这样的: 我在行上收到此异常, 当队列已满但大小为2 ^ 31时,可能会发生此错误,并且我确定没有那么多命令在等待。 一开始一切都稳定,但在我重新部署战争后,一切开始发生。此类不是战争的一部分,而是放在tomcat / lib中的jar中。 您是否知道为什么会发生这种情况以及如何解决? 问题答案: 从ThreadPoolExec

  • 问题内容: 我正在使用Rails 5.0.0.rc1 + ActionCable + Redis构建Messenger应用程序。 我有一个频道,其中有很多动作。有一些“单播”操作->索要某些东西,取回一些东西,然后进行“广播”操作->做某事,将有效负载广播到某些连接的客户端。 我不时从这里得到异常:https : //github.com/rails/rails/blob/master/actio

  • 问题内容: 我怀疑异常可能会使TimerTask停止运行,在这种情况下,我很可能需要第二个timetask来监视第一个仍在运行? 更新资料 感谢您的回答。我继承了此代码,因此有点无知… 我刚刚看到,如果我在工作中抛出未捕获的异常,TimerThread将永远停止运行。 的运行方法表明,如果引发异常,则计划的线程将永远不会再次运行。 stacktrace的结尾将是: 因此,临时解决方案是抓住一切…长

  • 当然在文件结束或输入错误发生时返回,但这是否意味着没有更多的数据可用? 使用