.str.containsを使おうとするとValueError: cannot index with vector containing NA / NaN valuesのエラーになる件【解決】

df[‘データフレームの列の名前’].str.contains(“調べたいキーワード”)という構文を使おうとしたら、

ValueError: cannot index with vector containing NA / NaN values

というエラーを食らいました。解決法は簡単で、

na=False

という指定を足してやればよかっただけでした。

df[‘データフレームの列の名前’].str.contains(“調べたいキーワード”, na=False)

で事足りました。ちなみにもしna=Trueと指定すると、NaNの行は、Trueつまり、”調べたいキーワードがあったこと”として扱われるようです。

 

参考にしたサイト

  1. pandas データフレームをstr.contains()で処理し、nan値を無視したい (2018/01/11 15:41 teratail.com 質問をすることでしか得られない、回答やアドバイスがある。)
  2. pandasで特定の文字列を含む行を抽出(完全一致、部分一致)https://note.nkmk.me/