Menu
Coddy logo textTech

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()
challenge icon

Défi

Facile

Le 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,0

Nettoyez les données :

  • Remplissez les valeurs manquantes de toutes les colonnes ayant plus de 2 valeurs manquantes par la valeur Missing
  • 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