R, Python, DB 備忘録

データベースとか、jupyter(Python)、Rとか色々

0除算によるRuntimeWarningを回避する

numpyでゼロ除算をしたときにはRuntimeWarningが発生する。
1回くらいなら気にすることもないが、ループで大量に発生するのはちょっと(かなり)鬱陶しい。

c:\users\<省略>\lib\site-packages\ipykernel_launcher.py:19: RuntimeWarning: invalid value encountered in true_divide
c:\users\<省略>\lib\site-packages\ipykernel_launcher.py:19: RuntimeWarning: invalid value encountered in true_divide
c:\users\<省略>\lib\site-packages\ipykernel_launcher.py:19: RuntimeWarning: invalid value encountered in true_divide
c:\users\<省略>\lib\site-packages\ipykernel_launcher.py:19: RuntimeWarning: invalid value encountered in true_divide
c:\users\<省略>\lib\site-packages\ipykernel_launcher.py:19: RuntimeWarning: invalid value encountered in true_divide
c:\users\<省略>\lib\site-packages\ipykernel_launcher.py:19: RuntimeWarning: invalid value encountered in true_divide
・・・

対策

with np.errstate(all='ignore'):

のブロック内にコードを記載すれば、そこだけWarningが無視できる。