Vérifier si une valeur particulière (dans la cellule) est NaN dans les pandas DataFrame pas de travail à l'aide ix ou lci
Permet de dire que j'ai suivantes pandas
DataFrame
:
import pandas as pd
df = pd.DataFrame({"A":[1,pd.np.nan,2], "B":[5,6,0]})
Qui ressemblerait à:
>>> df
A B
0 1.0 5
1 NaN 6
2 2.0 0
Première option
Je sais un moyen de vérifier si une valeur particulière est NaN
, qui est comme suit:
>>> df.isnull().ix[1,0]
True
Deuxième option (pas de travail)
J'ai pensé en dessous de l'option, à l'aide de ix
, marcherait aussi bien, mais il n'est pas:
>>> df.ix[1,0]==pd.np.nan
False
J'ai aussi essayé iloc
avec les mêmes résultats:
>>> df.iloc[1,0]==pd.np.nan
False
Cependant si j'ai vérifier ces valeurs à l'aide de ix
ou iloc
j'obtiens:
>>> df.ix[1,0]
nan
>>> df.iloc[1,0]
nan
Donc, pourquoi est la deuxième option ne fonctionne pas? Est-il possible de vérifier NaN
des valeurs à l'aide ix
ou iloc
?
Explication: essayez ceci:
Qui donne
stackoverflow.com/questions/20320022/...
C'est la nature de "Pas Un Nombre". En raison de cela, nous avons
comment pensez-vous - faut-il le fermer comme une dupe?
pd.np.nan == pd.np.nan
😉Qui donne
False
! Pourquoi est-ce?stackoverflow.com/questions/20320022/...
C'est la nature de "Pas Un Nombre". En raison de cela, nous avons
pd.isnull()
, pd.notnull()
, IS (NOT) NULL
en SQL, etccomment pensez-vous - faut-il le fermer comme une dupe?
OriginalL'auteur Cedric Zoppolo | 2017-11-22
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
pd.isnull(df).iloc[1][0]
J'aime votre version d'origine (dans la question) -
df.isnull().ix[1,0]
mieuxaussi
np.isnan(df.iloc[1,0])
pour vérifier si un nombre est nan.OriginalL'auteur MaxU
La réponse ci-dessus est excellent. Ici est le même, avec un exemple pour mieux comprendre.
J'ai aussi essayé quelques fois, à la suite des essais n'ont pas de travail. Grâce à
@MaxU
.OriginalL'auteur hygull