Menu
CoddyTech

Valeurs manquantes

Fait partie de la section Données et visualisations du Journey Machine Learning de Coddy. Leçon 45 sur 60.

Les données réelles comportent des lacunes : un capteur tombe en panne, un quiz est manqué. pandas marque chaque cellule vide par NaN, « pas un nombre » :

Un tableau de quatre élèves et deux quiz avec trois cellules vides marquées NaN : Ben a manqué quiz1, Cy et Dee ont manqué quiz2. En dessous, le nombre de lacunes par colonne : 0, 1 et 2

La plupart des modèles refusent les valeurs NaN, alors compte d’abord les valeurs manquantes. .isna() marque chacune d’elles True, et .sum() les compte :

scores = pd.DataFrame({
    "name": ["Ana", "Ben", "Cy", "Dee"],
    "quiz1": [8, np.nan, 7, 9],  # np.nan représente une valeur manquante
    "quiz2": [6, 5, np.nan, np.nan],
})
print(scores.isna().sum())

Cela affiche :

name     0
quiz1    1
quiz2    2
dtype: int64

Choisis ensuite : dropna() supprime chaque ligne contenant une lacune ; fillna(0) écrit 0 dans chacune. Les deux renvoient un nouveau tableau, alors enregistre-le.

Les statistiques ignorent NaN : la moyenne de quiz1 est de 8.0, calculée à partir de ses trois notes connues.

challenge icon

Défi

Moyen

Un bracelet connecté a manqué certaines mesures dans tracker.csv. Avant l’entraînement, voyez comment chaque méthode de traitement des lacunes modifie la moyenne de sleep. Le code de départ lit hours, une valeur de remplacement.

  1. Affichez le nombre de lacunes dans chaque colonne.
  2. Affichez la moyenne de sleep, arrondie à 2 décimales, selon trois méthodes : en ignorant les lacunes, sur les jours sans lacune dans aucune colonne, et en remplaçant les lacunes par hours.

Pour un autre bracelet connecté et 8 :

day      0
steps    1
sleep    2
water    0
dtype: int64
Skipping gaps: 6.9
Complete days only: 7.0
Gaps filled with 8.0: 7.21

Essayez vous-même

import pandas as pd

tracker = pd.read_csv("tracker.csv")
hours = float(input())

# Écrivez votre code ci-dessous
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Données et visualisations

Entraînez-vous par vous-même : Compilateur Python en ligne