🇫🇷 FranceInformatique NSIPremièreTraitement des données
📊CH 03📗 NSI Première · 4h/sem

📊 Traitement des données

Tables de données CSV (csv.DictReader), sélection (list comprehension), projection, tri (sorted + lambda), agrégation (sum/max/min), jointure de tables.

📊 Tables de données
Format CSV et lecture Python
Définition
CSV = Comma-Separated Values
Ligne 1 = en-têtes (noms des colonnes)
Lignes suivantes = enregistrements

FICHIER notes.csv :
nom,matiere,note
Alice,Maths,15
Bob,Maths,12
Alice,NSI,18

LECTURE Python :
import csv
with open('notes.csv', encoding='utf-8') as f:
    data = list(csv.DictReader(f))
# data = [
#   {'nom':'Alice','matiere':'Maths','note':'15'},
#   ...
# ]

# Convertir les nombres en int/float
for e in data:
    e['note'] = int(e['note'])
Opérations sur les tables
Notion clé
SÉLECTION (filtrage, WHERE équivalent) :
[e for e in table if e['note'] >= 10]

PROJECTION (choisir colonnes) :
[e['nom'] for e in table]
[{'nom':e['nom'],'note':e['note']} for e in table]

TRI (ORDER BY équivalent) :
sorted(table, key=lambda e: e['note'])           # croissant
sorted(table, key=lambda e: e['note'], reverse=True)  # décroissant
sorted(table, key=lambda e: (e['classe'], e['nom']))  # double critère

AGRÉGATION :
notes = [e['note'] for e in table]
moyenne = sum(notes) / len(notes)
max_note = max(notes)
min_note = min(notes)

meilleur = max(table, key=lambda e: e['note'])
Jointure de tables
Notion clé
Jointure = relier 2 tables par une clé commune
(équivalent du INNER JOIN SQL)

EXEMPLE :
eleves = [{'id':1,'nom':'Alice'}, {'id':2,'nom':'Bob'}]
notes  = [{'id_eleve':1,'note':15}, {'id_eleve':2,'note':12}]

JOINTURE :
joint = [
    {'nom': e['nom'], 'note': n['note']}
    for e in eleves
    for n in notes
    if e['id'] == n['id_eleve']
]
# → [{'nom':'Alice','note':15}, {'nom':'Bob','note':12}]
Exercices
EX-D1FacileFiltrer et trier une table

Table = [{'nom':'Alice','note':15},{'nom':'Bob','note':9},{'nom':'Clara','note':12}] Q1: Élèves avec note>=10. Q2: Trier par note desc. Q3: Moyenne.

🤖 Résoudre avec IA
EX-D2IntermédiaireTraiter un fichier CSV

Écrire le code Python pour lire 'eleves.csv' (colonnes: nom, note) et afficher l'élève avec la meilleure note.

🤖 Résoudre avec IA
← Précédent
Représentation des données
Suivant →
Web & Interaction