Різниця між isna () та isnull () у пандах


69

Я використовую панди вже досить давно. Але я не розумію, в чому різниця між пандами isna()та isnull()в них. І, що ще важливіше, який з них використовувати для виявлення відсутніх значень у фреймі даних.

Яка основна відмінність того, як значення виявляється як або, naчи null?


1
Дві функції однакові. Обидва дають відсутні значення.
Анкіт Сет

Відповіді:


90

Панди isna()проти isnull().

Я припускаю, що ви маєте на увазі pandas.DataFrame.isna()проти pandas.DataFrame.isnull(). Не плутати з тим pandas.isnull(), що на відміну від двох вище не є методом класу DataFrame.

Ці два DataFrame методи роблять точно те саме! Навіть їхні документи однакові. Ви можете навіть підтвердити це в коді панд .

Але чому два методи з різними назвами роблять те саме?

Це тому, що DataFrames Pandas засновані на DataFrames R's. В R naі nullє дві окремі речі. Прочитайте цю публікацію для отримання додаткової інформації.

Однак у python панди побудовані поверх numpy, що неnanull має ані значень. Натомість numpy має NaNзначення (що означає "Не число"). Отже, панди також використовують NaNзначення.

Коротко

  • Для виявлення NaNзначень numpy використовується np.isnan().

  • Для виявлення NaNзначень панди використовують або .isna()або .isnull().
    Ці NaNзначення успадковуються тим, що панди побудовані на вершині нуме, в той час як імена двох функцій походять від DataFrames R's, структура яких та пани функціональності намагалися імітувати.


3
Це пояснює все, і так, я хотів зробити висновок "pandas.DataFrame.isna ()" vs "pandas.DataFrame.isnull ()". Дякую за таке детальне пояснення.
Вайбхав Тхакур
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.