データフレームのどこにNoneが見つかったかを調べたいのですが。
pd.DataFrame([None,np.nan]).isnull()
OUT:
0
0 True
1 True
isnull()は、numpyのNan値とNone値の両方を検索します。
Noneの値だけが必要で、Nunpyは必要ありません。データフレームをループせずにそれを行う簡単な方法はありますか?
編集:コメントを読んだ後、私の作品のデータフレームには文字列も含まれていることに気付きました。そのため、NoneはnumpyNanに強制されませんでした。したがって、Pisdomによって与えられた答えは機能します。
applymap
とlambda
を使用して、次のようにelement is None
かどうかを確認できます(元の例のように、データ型がNone
であるため、float
がnp.nan
に強制される別の例を作成しました。 object
をそのまま保持する、または@Evertによってコメントされた、None
型の列、None
とNaN
は、数値型の列では区別できません):
df = pd.DataFrame([[None, 3], ["", np.nan]])
df
# 0 1
#0 None 3.0
#1 NaN
df.applymap(lambda x: x is None)
# 0 1
#0 True False
#1 False False