次のコードを実行しています
positive_values = values.where(values > 0)
この例では、要素values
を含めることができます。nan
このため、次の実行時警告が表示されると思います。
RuntimeWarning: invalid value encountered in greater_equal if not reflexive
xarray
これらの警告を抑制する方法はありますか ?
次のコードを実行しています
positive_values = values.where(values > 0)
この例では、要素values
を含めることができます。nan
このため、次の実行時警告が表示されると思います。
RuntimeWarning: invalid value encountered in greater_equal if not reflexive
xarray
これらの警告を抑制する方法はありますか ?
モジュールは、warnings
探している機能を提供します。
すべての警告を抑制するには、次のようにします (これが適切でない理由については、John Coleman の回答を参照してください)。
import warnings
warnings.simplefilter("ignore")
# warnings.simplefilter("ignore", category=RuntimeWarning) # for RuntimeWarning only
抑制を一時的にするには、warnings.catch_warnings()
コンテキスト マネージャー内で実行します。
import warnings
with warnings.catch_warnings():
warnings.simplefilter("ignore")
positive_values = values.where(values > 0)
コンテキスト マネージャーは、コンテキストに入る前に元の警告設定を保存し、コンテキストを終了するときに設定を戻します。
一般的な経験則として、警告は抑制するのではなく注意する必要があります。警告の原因を知っているか、知らないかのどちらかです。警告の原因がわかっている場合は、通常、簡単な回避策があります。警告の原因がわからない場合は、バグがある可能性があります。&
この場合、次のように短絡の性質を使用できます。
positive_values = values.where(values.notnull() & values > 0)