Unterschied zwischen isna () und isnull () bei Pandas

70

Ich benutze schon seit einiger Zeit Pandas. Aber ich verstehe nicht, was der Unterschied zwischen isna()und isnull()bei Pandas ist. Und, was noch wichtiger ist, welche, um fehlende Werte im Datenrahmen zu identifizieren.

Worin besteht der grundlegende Unterschied, wie ein Wert entweder als naoder erkannt wird null?

Vaibhav Thakur
quelle
1
Die beiden Funktionen sind gleich. Beide geben die fehlenden Werte an.
Ankit Seth

Antworten:

91

Pandas isna()vs isnull().

Ich nehme an, Sie beziehen sich auf pandas.DataFrame.isna()vs pandas.DataFrame.isnull(). Nicht zu verwechseln mit pandas.isnull(), was im Gegensatz zu den beiden oben genannten keine Methode der DataFrame-Klasse ist.

Diese beiden DataFrame-Methoden machen genau dasselbe! Sogar ihre Dokumente sind identisch. Sie können dies sogar im Code von pandas bestätigen .

Aber warum machen zwei Methoden mit unterschiedlichen Namen dasselbe?

Dies liegt daran, dass die DataFrames von pandas auf den DataFrames von R basieren. In R naund nullsind zwei verschiedene Dinge. Lesen Sie diesen Beitrag für weitere Informationen.

In Python wird Pandas jedoch auf Numpy aufgebaut, das wedernanull Werte noch Werte hat. Stattdessen hat numpy NaNWerte (was für "Not a Number" steht). Folglich verwendet Pandas auch NaNWerte.

Zusamenfassend

  • Um NaNWerte zu erkennen , verwenden Sie numpy np.isnan().

  • Zum Erkennen von NaNWerten verwendet pandas entweder .isna()oder .isnull().
    Die NaNWerte werden von der Tatsache geerbt, dass Pandas auf Numpy aufgebaut sind, während die Namen der beiden Funktionen von Rs DataFrames stammen, deren Struktur und Funktionalität Pandas nachahmen wollten.

Djib2011
quelle
3
Dies erklärt alles und ja, ich wollte 'pandas.DataFrame.isna ()' vs 'pandas.DataFrame.isnull ()' schließen. Vielen Dank für eine so ausführliche Erklärung.
Vaibhav Thakur