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

RuntimeWarning:除以日志中遇到的零

朱阳曜
2023-03-14
问题内容

我正在使用numpy.log10来计算概率值数组的对数。数组中有一些零,我正在尝试使用

result = numpy.where(prob > 0.0000000001, numpy.log10(prob), -10)

但是,RuntimeWarning: divide by zero encountered in log10仍然出现,并且我确定这是引起警告的行。

尽管我的问题已解决,但我还是困惑为什么此警告一次又一次出现?


问题答案:

numpy.log10(prob)计算所有元素的以10为底的对数prob,甚至是元素未选择的对数where。如果需要,可以在取对数以消除问题之前prob10**-10或零填充一些零值。(不过,请确保您不`prob

0.0000000001`使用虚拟值进行计算。)



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

  • 问题内容: 我是编程新手。在我最新的Python 2.7项目中,我遇到了以下问题: RuntimeWarning:long_scalars中遇到溢出 有人可以详细说明这意味着什么,我可以做些什么来解决? 代码会一直运行,但是我不确定忽略警告是否是个好主意。 它发生在附加过程中,例如: 问题答案: 这是发出相同警告的示例: 产量 在上面的示例中,它的发生是因为的类型是dtype ,并且在an中可存储

  • 在Ubuntu web服务器[LAMP]上,我试图将PHP错误写入PHP_错误文件中,但不管我做什么,它们都会进入apache日志。 以下是我所做的尝试: > 编辑了php。ini文件: error_reporting=E_ALL|E_STRICT display_error=off log_errors=On error_log /var/logphp_errors.log 重启Apache 检

  • 我已经成功地设置了Elasticsearch、Kibana等,当我运行:'sudo systemctl status Elasticsearch'时,它都运行得很好。 但是,当我执行“sudo systemctl status logstash”时,这是输出: 它无法启动logstash,我在网上读了很多文章,说这可能与路径或配置有关,但我没有找到一个正确的工作解决方案。 我已经下载了JDK,并遵

  • 错误: curl-get“http://localhost:9200/graylog_26/message/_query”-d“{”query“:{”query_string“:{”query“:”message:9200/graylog_26/message/_query“:{}}}”curl-get“http://localhost:9200/graylog_26/message/_query

  • 我对运行在Tomcat7上的Java web应用程序使用spring-mvc和security。我通过扩展AbstractAuthenticationProcessingFilter自定义了spring安全性,为了捕获自定义异常,我有一个扩展ExceptionHandlerExceptionResolver的类。 现在,当我得到一个异常时,无论是否运行时,我都无法在我的tomcat日志中看到异常的