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 na
oder erkannt wird null
?
Antworten:
Pandas
isna()
vsisnull()
.Ich nehme an, Sie beziehen sich auf
pandas.DataFrame.isna()
vspandas.DataFrame.isnull()
. Nicht zu verwechseln mitpandas.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
na
undnull
sind zwei verschiedene Dinge. Lesen Sie diesen Beitrag für weitere Informationen.In Python wird Pandas jedoch auf Numpy aufgebaut, das weder
na
null
Werte noch Werte hat. Stattdessen hat numpyNaN
Werte (was für "Not a Number" steht). Folglich verwendet Pandas auchNaN
Werte.Zusamenfassend
Um
NaN
Werte zu erkennen , verwenden Sie numpynp.isnan()
.Zum Erkennen von
NaN
Werten verwendet pandas entweder.isna()
oder.isnull()
.Die
NaN
Werte 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.quelle