当执行如下代码时,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])