[Mémo du débutant Python] Importance et méthode de confirmation de la valeur manquante NaN avant l'analyse des données
Je suis nouveau dans Python / apprentissage automatique.
En raison de l'enthousiasme pour analyser les données, je suis resté bloqué parce que j'ai négligé de confirmer la valeur manquante, je vais donc laisser une note en guise de réflexion.
Conclusion
- Avant de commencer l'analyse des données, vous devez vérifier les valeurs manquantes.
- Si des valeurs manquantes sont trouvées, certaines mesures doivent être prises, telles que l'écrasement des données autres que les valeurs manquantes ou l'exclusion des lignes contenant des valeurs manquantes pour l'analyse.
Qu'est-il arrivé
--Lorsque j'ai participé à un concours d'analyse de données appelé Kaggle, j'ai analysé une quantité de données qui ne pouvait pas être confirmée visuellement.
À ce moment-là, je n'ai pas remarqué l'existence de la valeur manquante (NaN), et le programme est devenu plein de NaN, et l'erreur ne s'est pas arrêtée.
Qu'est-ce qu'une valeur manquante?
- Not a Number / NaN
- Expression spéciale lorsque le résultat du traitement du calcul ne peut pas être exprimé
――Il semble que vous ayez besoin d'étudier très profondément pour suivre les détails, je ne vais donc pas y revenir dans cet article.
- Comme il a la propriété de renvoyer le résultat du calcul avec d'autres nombres comme NaN, si même un NaN est inclus dans le programme, le résultat du calcul peut ne pas être obtenu correctement.
--Le résultat de
1 + NaN '' est
NaN ''
Contre-mesure-Recommandation au début de l'analyse des données
―― ① Vérifiez d'abord et avant tout s'il y a des valeurs manquantes dans les données.
--Utilisez ```isnull (). Any () `` `
- Vous indique quelles colonnes contiennent des valeurs manquantes dans le bloc de données
--Si vous vérifiez les valeurs manquantes pour df_example comme indiqué ci-dessous, vous pouvez vérifier l'existence de valeurs manquantes pour la population et le PIB avec *** True *** (j'imagine que vous ne connaissez pas la population exacte de la Corée du Nord, etc.) Peut également être)
#Exemple:countries.Supposons que csv contienne des données statistiques de base de chaque pays
import pandas as pd
df_example = pd.read_csv("hogehoge/example.csv").copy()
print(df_example.isnull().any())
#Exemple
Id False
Name False
Population True
GDP True
Region False
life_expct False
-② Effectuer des travaux de remplacement dans la colonne où l'existence de valeurs manquantes est confirmée.
- J'omettrai une autre méthode de suppression lorsque la colonne entière est composée de NaN, et le traitement lors de la suppression de la ligne elle-même au lieu de remplacer la valeur manquante.
#Où se trouve la colonne d'existence de la valeur manquante
df_example.loc[df_example['Population'].isnull(), 'Population'] = 0
Mise en garde
- Dans ce cas, veuillez noter si la valeur à remplacer est appropriée et ce qu'il faut garder à l'esprit dans le calcul ultérieur.
- Par exemple, si vous remplacez la population par 0 comme ci-dessus, il peut y avoir deux modèles:
―― «Ces données sont analysées uniquement pour calculer les 30 pays les plus peuplés et leurs caractéristiques, ce n'est donc pas un problème.»
―― "Nous analyserons la population moyenne à partir de ces données, donc dans ce cas, calculons uniquement les" pays dont la valeur de population n'est pas 0 "et vérifions que les valeurs du dénominateur et du numérateur sont correctes."
Résumé
―― Compte tenu des données, il est important de vérifier les valeurs manquantes au lieu de sauter dessus et de démarrer l'analyse.
référence
(c'est tout)
Supplément
«L'auteur a constaté que l'analyse ultérieure serait complètement inutile car les valeurs manquantes étaient mélangées dans la couche d'entrée de l'apprentissage profond, et je suis venu pour écrire cet article.
En plus de confirmer les valeurs manquantes, je pense qu'il existe de nombreux processus de confirmation et de nettoyage des données avant l'analyse, comme le dessin d'un histogramme pour rechercher des valeurs aberrantes. Je me suis abstenu de les mentionner dans cet article à partir du 24 mars 2020, mais je voudrais les ajouter après les avoir étudiés.