Python で NaN 値をチェックする
-
Python で
nan
値を確認するにはmath.isnan()
関数を使用する -
Python の
nan
値を確認するにはnumpy.isnan()
関数を使用する -
Python で
nan
値を確認するにはpandas.isna()
関数を使用する -
Python で
obj != obj
を使用してnan
の値をチェックする
nan
は、与えられた値が正規の値ではないことを示す定数でです -Not a Number
です。
nan
と NULL
は別のものであることに注意してください。NULL
値は存在しない何かを示し、空であることを示します。
Python では、さまざまなオブジェクトでこのような値を頻繁に扱います。そのため、このような定数を検出する必要があります。
Python には isnan()
関数があり、これを使って nan
値を調べることができる。この関数は NumPy
と math
の 2つのモジュールで利用できます。pandas
モジュールの isna()
関数も nan
値を調べることができます。
Python で nan
値を確認するには math.isnan()
関数を使用する
math
ライブラリの isnan()
関数を用いると、float オブジェクトの nan
定数を調べることができます。この関数は、そのような値が見つかるたびに True
を返します。例えば、
import math
import numpy as np
b = math.nan
print(np.isnan(b))
出力:
True
定数 math.nan
は nan
の値を表していることに注意してください。
Python の nan
値を確認するには numpy.isnan()
関数を使用する
関数 numpy.isnan()
は、リストや配列などのさまざまなコレクションの中に nan
値があるかどうかを調べることができます。各要素をチェックし、nan
定数に遭遇した場合は True
の配列を返します。例えば、以下のようになります。
import numpy as np
a = np.array([5, 6, np.NaN])
print(np.isnan(a))
出力:
[False False True]
np.NaN()
定数は nan
の値も表します。
Python で nan
値を確認するには pandas.isna()
関数を使用する
pandas
モジュールの isna()
関数は NULL
や nan
の値を検出することができます。このような値を検出した場合はすべて True
を返します。このような値が DataFrame や Series オブジェクトにあるかどうかも調べることができます。例えば、
import pandas as pd
import numpy as np
ser = pd.Series([5, 6, np.NaN])
print(pd.isna(ser))
出力:
0 False
1 False
2 True
dtype: bool
Python で obj != obj
を使用して nan
の値をチェックする
nan
以外のオブジェクトに対しては、式 obj == obj
は常に True
を返します。例えば、
print([] == [])
print("1" == "1")
print([1, 2, 3] == [1, 2, 3])
print(float("nan") == float("nan"))
したがって、obj != obj
を用いて nan
であるかどうかを調べることができます。戻り値が True
なら nan
です。
import math
b = math.nan
def isNaN(num):
return num != num
print(isNaN(b))
出力:
True
ただし、このメソッドは Python のバージョンが低い場合(<=Python 2.5)では失敗する可能性があります。
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn