パンダのisna()とisnull()の違い


71

私はかなり長い間、パンダを使用しています。しかし、パンダisna()isnull()パンダの違いはわかりません。さらに重要なことは、データフレーム内の欠損値を識別するためにどれを使用するかです。

値がnaまたはとして検出される方法の基本的な違いは何nullですか?


1
2つの機能は同じです。両方とも欠損値を提供します。
アンキットセス

回答:


92

パンダisna()isnull()

私はあなたがpandas.DataFrame.isna()対を指していると仮定していますpandas.DataFrame.isnull()。と混同しないでくださいpandas.isnull()。これは上記の2つとは対照的に、DataFrameクラスのメソッドではありません。

これら2つのDataFrameメソッドはまったく同じことを行います!ドキュメントも同じです。パンダのコードでこれを確認することもできます

しかし、異なる名前の2つのメソッドが同じことをするのはなぜですか?

これは、パンダのデータフレームがRのデータフレームに基づいているためです。Rではnanull2つの別個のものです。詳細については、この投稿をお読みください。

ただし、pythonでは、pandasはnumpyの上に構築されます。numpyには値もありnaませんnull。代わりに、numpyにはNaN値(「Not a Number」を意味します)があります。その結果、パンダもNaN値を使用します。

要するに

  • NaNnumpyが使用する値を検出するにはnp.isnan()

  • NaN値を検出するには、pandasはまたはのいずれ.isna()かを使用します.isnull()。値は、二つの機能の名前は、その構造と機能パンダ模倣しようとしたRのデータフレーム、から発信しながら、パンダは、numpyのの上に構築されているという事実から継承されます。
    NaN


3
これはすべてを説明し、はい 'pandas.DataFrame.isna()'対 'pandas.DataFrame.isnull()'を推測したかったです。このような詳細な説明をありがとう。
ヴァイバフタクール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.