web-dev-qa-db-ja.com

pandas dataframeでNoneを確認してください

データフレームのどこにNoneが見つかったかを調べたいのですが。

pd.DataFrame([None,np.nan]).isnull()
OUT: 
      0
0  True
1  True

isnull()は、numpyのNan値とNone値の両方を検索します。

Noneの値だけが必要で、Nunpyは必要ありません。データフレームをループせずにそれを行う簡単な方法はありますか?

編集:コメントを読んだ後、私の作品のデータフレームには文字列も含まれていることに気付きました。そのため、NoneはnumpyNanに強制されませんでした。したがって、Pisdomによって与えられた答えは機能します。

4
ConanG

applymaplambdaを使用して、次のようにelement is Noneかどうかを確認できます(元の例のように、データ型がNoneであるため、floatnp.nanに強制される別の例を作成しました。 objectをそのまま保持する、または@Evertによってコメントされた、None型の列、NoneNaNは、数値型の列では区別できません):

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
2
Psidom