Pandas isna() и isnull(), в чем разница?

У панд есть как isna() и isnull(). Обычно я использую isnull() для обнаружения отсутствующих значений и никогда не встречал случая, поэтому мне пришлось использовать другое. Итак, когда использовать isna()?

Ответ 1

isnull является псевдонимом для isna. Буквально в коде панд:

isnull = isna

Действительно:

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

Поэтому я бы рекомендовал использовать isna.

Ответ 2

Документация для обоих версий буквально идентична.

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

Здесь он даже говорит, что DataFrame.isnull является псевдонимом isna в разделе "См. Также".

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

Следовательно, они должны быть такими же, как np.nan, np.NaN, np.NAN.

Ответ 3

Они оба одинаковы. Рекомендуется всегда использовать isna(), а не isnull().

Легко вспомнить, что делает isna(), потому что когда вы смотрите на метод numpy np.isnan(), он проверяет значения NaN. В пандах есть другие похожие имена методов, такие как dropna(), fillna(), которые обрабатывают пропущенные значения и всегда помогают легко запомнить.