笔记|Python 报错处理|numpy 警告 RuntimeWarning divide by zero 屏蔽办法

当执行如下代码时,numpy 会给出除数为 0 的 RuntimeWarning 警告,并得到 inf 的除法结果

>>> import numpy as np
>>> a = np.array([1, 2, 3])
>>> b = np.array([3, 2, 0])
>>> a / b
<input>:1: RuntimeWarning: divide by zero encountered in true_divide
array([0.33333333, 1.        ,        inf])

这个警告是因为执行除法的两个向量中,存在除数为 0 的情况。如果我们的预期的就是除 0 后得到 inf 的话,那么可以使用如下修改 numpy 警告配置的方法屏蔽警告:

>>> np.seterr(divide="ignore")
{
    
    'divide': 'warn', 'over': 'warn', 'under': 'ignore', 'invalid': 'warn'}
>>> a / b
array([0.33333333, 1.        ,        inf])

猜你喜欢

转载自blog.csdn.net/Changxing_J/article/details/129780112
今日推荐