Perbedaan antara isna () dan isnull () dalam panda

73

Saya telah menggunakan panda untuk beberapa waktu. Tapi, saya tidak mengerti apa perbedaan antara isna()dan isnull()dalam panda. Dan, yang lebih penting, yang mana yang akan digunakan untuk mengidentifikasi nilai yang hilang dalam kerangka data.

Apa perbedaan mendasar yang mendasari bagaimana suatu nilai terdeteksi sebagai salah satu naatau null?

Vaibhav Thakur
sumber
1
Kedua fungsi itu sama. Keduanya memberikan nilai yang hilang.
Ankit Seth

Jawaban:

94

Panda isna()vs isnull().

Aku menduga maksud anda pandas.DataFrame.isna()vs pandas.DataFrame.isnull(). Tidak bingung dengan pandas.isnull(), yang berbeda dengan kedua di atas bukan metode kelas DataFrame.

Kedua metode DataFrame ini melakukan hal yang persis sama! Bahkan dokumen mereka identik. Anda bahkan dapat mengkonfirmasi ini dalam kode panda .

Tetapi mengapa dua metode dengan nama berbeda melakukan hal yang sama?

Ini karena DataFrames panda didasarkan pada DataFrames R. Dalam R nadan nulldua hal terpisah. Baca posting ini untuk informasi lebih lanjut.

Namun, dalam python, panda dibangun di atas numpy, yang tidaknanull memiliki nilai atau tidak . Sebaliknya numpy memiliki NaNnilai (yang merupakan singkatan dari "Not a Number"). Akibatnya, panda juga menggunakan NaNnilai.

Pendeknya

  • Untuk mendeteksi NaNnilai-nilai digunakan numpy np.isnan().

  • Untuk mendeteksi NaNnilai, panda menggunakan salah satu .isna()atau .isnull().
    The NaNnilai-nilai yang diwariskan dari fakta bahwa panda dibangun di atas numpy, sedangkan nama kedua fungsi berasal dari DataFrames R, yang struktur dan panda fungsi mencoba untuk meniru.

Djib2011
sumber
3
Ini menjelaskan semuanya dan ya saya ingin menyimpulkan 'pandas.DataFrame.isna ()' vs 'pandas.DataFrame.isnull ()'. Terima kasih atas penjelasan terincinya.
Vaibhav Thakur