In [22]: np.seterr(divide="raise")
Out[22]: {'divide': 'raise', 'over': 'warn', 'under': 'ignore', 'invalid': 'warn'}
In [24]: b = np.float32(1)
In [25]: c = np.float32(0)
In [26]: a = b / c
-
FloatingPointError Traceback (most recent call last)
<ipython-input-26-809085b5049b> in <module>()
> 1 a = b / c
FloatingPointError: divide by zero encountered in float_scalars
这将发生在以下情况:
division
的error state设置为error
。在既然您已经声明您已经从一个数组中获取了这个数字,那么这些可能是numpy版本。您可以用^{} 检查错误状态。您可能在代码中的某个地方调用了},或者您正在使用的库has。在
numpy.seterr()
或{例如,您可以获得
FloatingPointError
,如下所示:如果}。注意,numpy对象永远不会导致}的结果将是{}。在
b
和c
是numpy整数而不是浮点数,float_scalars
将改为{ZeroDivisionError
。如果您有错误状态divide='ignore'
或divide='warn'
,那么a / 0
的结果将是inf
,而{虽然我无法重现您的错误消息,但这可能是由于
numpy
的不同版本(我在1.14.5上)。在相关问题 更多 >
编程相关推荐