Cours 5/11Cycle de vie des donnees

Traitement des Donnees

Apprends a transformer des donnees brutes en informations exploitables : filtrage, tri, calculs, agregation et nettoyage avec Python.

30 minNiveau Moyen75 XP
1

Qu'est-ce que le traitement de donnees ?

Le traitement de donnees consiste a appliquer des operations sur des donnees brutes pour les transformer en informations exploitables et significatives.

Le cycle Donnees - Traitement - Information

📊
Donnees brutes

18, 21, 19, 22, 17

Traitement

Calcul moyenne

💡
Information

Moyenne = 19.4C

Analogie : Les donnees brutes sont comme des ingredients de cuisine. Le traitement est la recette. L'information finale est le plat pret a manger !

2

Les operations de traitement

Filtrage

Selectionner les lignes selon un critere

Ex: age > 15

Tri

Ordonner les donnees (croissant/decroissant)

Ex: trier par note

Calcul

Effectuer des operations mathematiques

Ex: moyenne, somme

Agregation

Regrouper et calculer des statistiques

Ex: moyenne par classe

Nettoyage

Corriger erreurs, doublons, valeurs manquantes

Ex: supprimer doublons

Transformation

Modifier le format ou la structure

Ex: normaliser, encoder
3

Filtrage et Tri en Python

Donnees de depart

eleves = [
    {"nom": "Alice", "age": 15, "note": 14.5, "classe": "2nde3"},
    {"nom": "Bob", "age": 16, "note": 12.0, "classe": "2nde1"},
    {"nom": "Clara", "age": 15, "note": 16.5, "classe": "2nde3"},
    {"nom": "David", "age": 16, "note": 11.0, "classe": "2nde2"},
    {"nom": "Emma", "age": 15, "note": 18.0, "classe": "2nde3"},
]

Filtrage

# Filtrer les eleves avec note >= 14
bons_eleves = [e for e in eleves if e["note"] >= 14]
print([e["nom"] for e in bons_eleves])
# ['Alice', 'Clara', 'Emma']

# Filtrer les eleves de 2nde3
eleves_2nde3 = [e for e in eleves if e["classe"] == "2nde3"]
print(len(eleves_2nde3), "eleves en 2nde3")
# 3 eleves en 2nde3

# Filtres combines : 2nde3 ET note > 15
top_2nde3 = [e for e in eleves 
             if e["classe"] == "2nde3" and e["note"] > 15]

Tri

# Trier par note (croissant)
par_note = sorted(eleves, key=lambda e: e["note"])
print([e["nom"] for e in par_note])
# ['David', 'Bob', 'Alice', 'Clara', 'Emma']

# Trier par note (decroissant)
par_note_desc = sorted(eleves, key=lambda e: e["note"], reverse=True)
print("Meilleur :", par_note_desc[0]["nom"])
# Meilleur : Emma

# Trier par nom (alphabetique)
par_nom = sorted(eleves, key=lambda e: e["nom"])
4

Calculs et Statistiques

Calculs de base

# Extraire les notes
notes = [e["note"] for e in eleves]
# [14.5, 12.0, 16.5, 11.0, 18.0]

# Somme
total = sum(notes)
print(f"Total : {total}")  # 72.0

# Moyenne
moyenne = sum(notes) / len(notes)
print(f"Moyenne : {moyenne:.2f}")  # 14.40

# Min et Max
print(f"Min : {min(notes)}, Max : {max(notes)}")
# Min : 11.0, Max : 18.0

# Nombre d'elements
print(f"Nombre d'eleves : {len(eleves)}")  # 5

Avec la bibliotheque statistics

import statistics

notes = [14.5, 12.0, 16.5, 11.0, 18.0]

print("Moyenne :", statistics.mean(notes))      # 14.4
print("Mediane :", statistics.median(notes))   # 14.5
print("Ecart-type :", statistics.stdev(notes)) # 2.83
5

Nettoyage des donnees

Les donnees reelles sont souvent "sales" : erreurs de saisie, doublons, valeurs manquantes. Le nettoyage est essentiel avant toute analyse.

Operations de nettoyage

# Donnees avec problemes
noms = ["Alice", "  Bob  ", "CLARA", "alice", "", "David"]

# Supprimer les espaces (trim)
noms_clean = [n.strip() for n in noms]
# ['Alice', 'Bob', 'CLARA', 'alice', '', 'David']

# Normaliser la casse
noms_clean = [n.strip().capitalize() for n in noms]
# ['Alice', 'Bob', 'Clara', 'Alice', '', 'David']

# Supprimer les valeurs vides
noms_clean = [n for n in noms_clean if n]
# ['Alice', 'Bob', 'Clara', 'Alice', 'David']

# Supprimer les doublons (conserve l'ordre)
noms_uniques = list(dict.fromkeys(noms_clean))
# ['Alice', 'Bob', 'Clara', 'David']

Quiz de validation

Question 1: Qu'est-ce que le traitement de donnees ?

Question 2: Quelle operation permet de ne garder que certaines lignes selon un critere ?

Question 3: Qu'est-ce que le nettoyage de donnees ?

Question 4: Quelle fonction Python calcule la moyenne d'une liste ?

Question 5: Qu'est-ce que l'agregation de donnees ?

A retenir

  • Traitement = transformer des donnees brutes en informations exploitables.
  • Operations principales : filtrer, trier, calculer, agreger.
  • Le nettoyage (doublons, erreurs, valeurs manquantes) est essentiel.
  • Python : sorted(), comprehensions, sum()/len().

Dans ce cours


Progression du theme

5/11 cours completes

Pixel