Ответ 1
Вы можете отключить предупреждение с помощью 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.