J'utilise des pandas depuis un certain temps. Mais, je n'ai pas compris quelle est la différence entre isna()
et isnull()
dans les pandas. Et, plus important encore, lequel utiliser pour identifier les valeurs manquantes dans le cadre de données.
Quelle est la différence fondamentale sous-jacente de la manière dont une valeur est détectée en tant que na
ou null
?
Réponses:
Pandas
isna()
vsisnull()
.Je suppose que vous faites référence
pandas.DataFrame.isna()
vspandas.DataFrame.isnull()
. Ne pas confondre avecpandas.isnull()
ce qui, contrairement aux deux précédents, n'est pas une méthode de la classe DataFrame.Ces deux méthodes DataFrame font exactement la même chose! Même leurs documents sont identiques. Vous pouvez même le confirmer dans le code des pandas .
Mais pourquoi deux méthodes avec des noms différents font-elles la même chose?
En effet, les DataFrames de pandas sont basés sur les DataFrames de R. En R
na
etnull
sont deux choses distinctes. Lisez ce post pour plus d'informations.Cependant, en python, pandas géants est construit au - dessus de numpy, qui n'a ni
na
ninull
valeurs. Au lieu de cela, numpy a desNaN
valeurs (ce qui signifie "pas un nombre"). Par conséquent, les pandas utilisent également desNaN
valeurs.En bref
Pour détecter les
NaN
valeurs que numpy utilisenp.isnan()
.Pour détecter les
NaN
valeurs, les pandas utilisent soit.isna()
ou.isnull()
.Les
NaN
valeurs sont héritées du fait que les pandas sont construits sur Numpy, alors que les noms des deux fonctions proviennent de DataFrames de R, dont la structure et la fonctionnalité ont été imitées par les pandas.la source