Disons que je l'ai remplacé toutes les valeurs nulles dans ma trame de données avec une chaîne ('Non disponible ') en utilisant df.fillna (' indisponible '). Je dois maintenant vérifier que le nombre de 'Indisponible' correspond à celui des valeurs nulles. Il y a beaucoup de colonnes et de lignes, donc je ne veux pas spécifier un nom de colonne, etc. Est-il possible trouver le nombre de tous les « indisponible » dans toutes les colonnes sans utiliser pour les boucles? Si vous utilisez des boucles pour parcourir toutes les colonnes, je suis confronté à un problème lorsque la colonne contient un type numérique. Cela n'a pas de sens de faire un value_count car je suis intéressé à connaître uniquement le nombre 'Indisponible' et non le nombre de toutes les valeurs. Plus encore, je pense qu'il devrait y avoir un moyen simple de faire une telle chose que je puisse manquer.pandas géants dataframe: Comment puis-je trouver la valeur spécifique (dire « Non disponible ») dans toutes les colonnes (de numérique numérique et non) de la dataframe
Répondre
Vous pouvez probablement faire quelque chose comme ceci:
(df.astype(str)=='Unavailable').values.sum()
Exactement ce que je cherchais. Merci beaucoup! –
si vous voulez avoir un aperçu de toutes vos valeurs pd.melt()
et pd.groupby()
pourraient vous aider à explorer les données
par exemple:
foo bar foobar
0 Unavailable asd asd
1 asd Unavailable asd
2 asd Unavailable asd
3 asd Unavailable asd
4 Unavailable asd asd
5 asd asd asd
6 Unavailable asd Unavailable
7 asd asd Unavailable
8 asd asd asd
à l'état fondu et le groupe df
df_1 = pd.melt(df, value_vars=['foo ', 'bar ', 'foobar']).groupby("value").count()
Merci pour votre réponse. Mais dans mon cas, je ne veux pas mentionner explicitement les colonnes (puisque je veux que la valeur soit recherchée) –
'(df == 'Non disponible'). Sum(). Sum()'? – Zero