1. ホーム
  2. python

[解決済み] NaN(pandas)でフィルタリングするには?

2022-12-15 01:49:59

質問

pandasのdataframe(df)を持っていて、以下のようなことをしたいのですが、どうすればいいですか?

newdf = df[(df.var1 == 'a') & (df.var2 == NaN)]

をNaNに置き換えてみました。 np.NaN または 'NaN' または 'nan' などがありますが、Trueと評価されるものはありません。また pd.NaN .

私は df.fillna(np.nan) を使うこともできますが、これはハック的な感じがしますし、後でpandas形式のNaNを識別できることに依存する他のpandas操作に干渉しないかどうか疑問です。

私はこの質問に対する簡単な答えがあるはずだと感じますが、どういうわけかそれは私を逃がしてきました。どんなアドバイスでもありがたいです。ありがとうございます。

どのように解決するのですか?

これがうまくいかないのは NaN は何にも等しくないからです。 NaN . 使用する pd.isnull(df.var2) を使います。