您可以使用禁用警告numpy.seterr
。将其放在可能的除以零之前:
np.seterr(divide='ignore')
这将全局禁用零除警告。如果只想禁用它们一点,可以numpy.errstate
在with
子句中使用:
with np.errstate(divide='ignore'):
# some code here
对于零除零除法(不确定,导致NaN),错误行为在numpy版本1.12.0中已更改:现在被视为“无效”,而以前被称为“除法”。
因此,如果您的分子有可能也为零,请使用
np.seterr(divide='ignore', invalid='ignore')
要么
with np.errstate(divide='ignore', invalid='ignore'):
# some code here
请参阅发行说明中的“兼容性”部分, 以及“新功能”部分之前的最后一段:
现在比较NaN浮点数会引发无效的运行时警告。如果期望使用NaN,则可以使用np.errstate忽略该警告。