Pandas isna() and isnull(), what is the difference?

Question:

Pandas has both isna() and isnull(). I usually use isnull() to detect missing values and have never met the case so that I had to use other than that.
So, when to use isna()?

Asked By: ipramusinto

||

Answers:

The documentation for both is literally identical.

pandas.isna() : https://pandas.pydata.org/pandas-docs/stable/generated/pandas.isna.html#pandas.isna

pandas.isnull() : https://pandas.pydata.org/pandas-docs/stable/generated/pandas.isnull.html#pandas.isnull

In here, it even says DataFrame.isnull is an alias of isna in See also section.

pandas.DataFrame.isnull(): https://pandas-docs.github.io/pandas-docs-travis/generated/pandas.DataFrame.isnull.html#pandas.DataFrame.isnull

Therefore, they must be the same thing, like np.nan, np.NaN, np.NAN.

Answered By: Tam Le

isnull is an alias for isna. Literally in the code source of pandas:

isnull = isna

Indeed:

>>> pd.isnull
<function isna at 0x7fb4c5cefc80>

So I would recommend using isna.

Answered By: qsantos

They both are same. As a best practice, always prefer to use isna() over isnull().

It is easy to remember what isna() is doing because when you look at numpy method np.isnan(), it checks NaN values. In pandas there are other similar method names like dropna(), fillna() that handles missing values and it always helps to remember easily.

Answered By: Jyoti Prasad Pal
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.