プログラミング・IT・英語・数学とか

英検1級、TOEIC満点(990点)、セキュリティスペシャリスト、DBスペシャリスト、ネットワークスペシャリスト。英語とITとか。いろいろ試してみたことを書いていきます

やっとわかった!pandas.DataFrame.isna() と pandas.DataFrame.isnull() の違い

pandas.DataFrame.isna() と pandas.DataFrame.isnull() の違い

どちらもまったく同じことをする関数です。ドキュメントも同じだし、ソースからもわかります。

では、なぜ2つあるのか?

短く言えば、pandas が R と numpy のどちらも真似ようとしているからです。

pands の DataFrame は R の DataFrame を真似して作られています。R には na と null があるので、それを真似して pandas でも isna() と isnull() ができました。

が、pandas は numpy をもとにして作られています。numpy には na と null はなく、 NaNしかありません。なので、pandas でも na や null ではなく NaN を使います。

よって、pandas にはデータタイプは NaN しかないけれど、判定するための関数は isna() と isnull() の2つが存在するようになりました。

参考

ほぼ以下の丸コピです。

datascience.stackexchange.com