Nettoyage des données - Données manquantes
Leçon 6 sur 19 du cours Analyse de données avec Pandas de Coddy.
Habituellement, les fichiers CSV contiennent des données manquantes, des noms de colonnes incorrects, des doublons, des valeurs incorrectes et des types de données incorrects. Le module Pandas possède tous les outils pour gérer ces problèmes.
Données manquantes
Pour savoir si une valeur est manquante ou non :
df.isna()Pour savoir combien de valeurs manquantes chaque colonne possède :
df.isna().sum()La fonction isna() convertit toutes les valeurs en true ou false (manquante ou non), puis s'applique. sum() traitera true comme 1 et false comme 0.
Pour itérer sur les colonnes et leur nombre de valeurs manquantes, utilisez la méthode items() tout comme dans un dictionnaire (bien qu'il s'agisse d'un objet Pandas series) :
for column, missing_num in df.isna().sum().items():
print(column, missing_num)Pour remplir toutes ces valeurs manquantes pour l'ensemble du dataframe, utilisez la méthode fillna() :
df = df.fillna("some value")Pour remplir les valeurs manquantes uniquement pour une colonne, utilisez la fonction fillna() sur une colonne :
df["some_column"] = df["some_column"].fillna("some value")Il existe également une option pour supprimer toutes les lignes contenant des valeurs manquantes :
df = df.dropna()Défi
FacileLe fichier CSV missing.csv est désordonné.
Voici les 5 premières lignes du fichier :
ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID
1,France,Signal violet,marksmanship,14,0.1924,1
1,France,Signal violet,marksmanship,14,0.1924,1
2,Solomon Islands,Pearl violet,,4,,1
3,Germany,,calligraphy,12,0.88646,0Nettoyez les données :
- Remplissez les valeurs manquantes de toutes les colonnes ayant plus de
2valeurs manquantes par la valeurMissing - Supprimez toutes les lignes restantes qui contiennent des valeurs manquantes.
Pour voir votre progression, affichez le df : print(df)
Stockez le résultat final dans la variable df.
N'affichez pas le df pour réussir le cas de test !
Essayez vous-même
# pandas as pd est déjà importé
df = pd.read_csv("./missing.csv")
# Écrivez votre code ci-dessous
Toutes les leçons de Analyse de données avec Pandas
1Introduction
Pourquoi utiliser Pandas ?Structures de données dans PandasChargement de données dans un DataFrame4Analyse de données avec Pandas
Statistiques descriptivesGroupement et agrégation de donnéesDifférentes agrégationsFusion et concaténation2Travailler avec le DataFrame
Comprendre les DataFramesAccéder aux donnéesNettoyage des données - Données manquantesNettoyage des données - Autres outils