Étant donné une base de données pandas contenant des valeurs NaN possibles dispersées ici et là:
Question: Comment déterminer quelles colonnes contiennent des valeurs NaN? En particulier, puis-je obtenir une liste des noms de colonnes contenant des NaN?
df.isna().any()[lambda x: x]
travaille pour moiRéponses:
MISE À JOUR: utilisation de Pandas 0.22.0
Les nouvelles versions de Pandas ont de nouvelles méthodes 'DataFrame.isna ()' et 'DataFrame.notna ()'
comme liste de colonnes:
pour sélectionner ces colonnes (contenant au moins une
NaN
valeur):ANCIENNE réponse:
Essayez d'utiliser isnull () :
ou comme @root proposait une version plus claire:
pour sélectionner un sous-ensemble - toutes les colonnes contenant au moins une
NaN
valeur:la source
df.columns[df.isin['xxx'].any()].tolist()
df.columns[df.eq(search_for_value).any()].tolist()
isna
,notna
?Vous pouvez utiliser
df.isnull().sum()
. Il montre toutes les colonnes et le total des NaN de chaque entité.la source
J'ai eu un problème où je devais inspecter visuellement de nombreuses colonnes à l'écran, donc une liste courte comp qui filtre et renvoie les colonnes incriminées est
si cela est utile à quelqu'un
la source
Dans les ensembles de données ayant un grand nombre de colonnes, il est encore mieux de voir combien de colonnes contiennent des valeurs nulles et combien n'en contiennent pas.
Par exemple, dans mon dataframe, il contenait 82 colonnes, dont 19 contenaient au moins une valeur nulle.
De plus, vous pouvez également supprimer automatiquement les colonnes et les lignes en fonction de ce qui a le plus de valeurs nulles
Voici le code qui fait cela intelligemment:
Remarque: le code ci-dessus supprime toutes vos valeurs nulles. Si vous voulez des valeurs nulles, traitez-les avant.
la source
J'utilise ces trois lignes de code pour imprimer les noms de colonnes qui contiennent au moins une valeur nulle:
la source
Les deux devraient fonctionner:
DataFrame
isna()
ouisnull()
sont complètement identiques.Remarque : les chaînes vides
''
sont considérées comme False (non considérées comme NA)la source
Cela a fonctionné pour moi,
1. Pour obtenir des colonnes ayant au moins 1 valeur nulle. (noms des colonnes)
2. Pour obtenir des colonnes avec nombre, avec au moins 1 valeur nulle.
[Facultatif] 3. Pour obtenir le pourcentage du nombre nul.
la source