注意事項|Pythonのエラー処理|numpy warning RuntimeWarning ゼロ除算のシールド方法

次のコードを実行すると、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])

この警告は、除算を実行する 2 つのベクトルの間に 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