Intro to Python
エラーメッセージ
最終更新:
introtopython
目次
「invalid value encountered in double_scalars」
numpyのarrayを使用してゼロ除算(0(ゼロ、零)で除算すること)などにより、計算結果がNaN(ナン、非数、not a number、0 / 0 の計算など)になるとき、このメッセージが表示される。
>>> import numpy as np
>>> x = np.zeros(2)
>>> x[0] = 0
>>> x[1] = 0
>>> print(x[0] / x[1])
<stdin>:1: RuntimeWarning: invalid value encountered in double_scalars
nan
「RuntimeWarning: divide by zero encountered in double_scalars」
numpyのarrayを使用してゼロ除算(0(ゼロ、零)で除算すること)して、計算結果が無限大(∞)になるときに、このメッセージが表示される。
>>> import numpy as np
>>> x = np.zeros(2)
>>> x[0] = 1
>>> x[1] = 0
>>> print(x[0] / x[1])
<stdin>:1: RuntimeWarning: divide by zero encountered in double_scalars
inf
「ValueError: math domain error」
関数の引数の値(変域)が正しくないため、関数を動作させることができていない。例えば、2を底とする32の対数(log 2 32=5)を計算してみると、
>>> math.log(32, 2)
5.0
と対数の値が求まるが、対数の真数(上記の例では32)を負数(0未満の値)にして計算してみる。
>>> math.log(-1, 2)
Traceback (most recent call last):
File "", line 1, in
ValueError: math domain error
となる。対数の真数は正数でなければならないので、正常に動作させることができずに、例外が発生している。