Bac NSI study materials
Bac NSI study resources

Bac NSI: Traitement de données en tables

Bac NSI · Work through your exam, one topic at a time.

All guide sections

Traitement de données en tables

Ce domaine étudie les tables de données, souvent au format CSV, et les opérations de lecture, filtrage, tri, agrégation et jointure. L'examen vérifie la capacité à choisir une représentation en liste de listes ou en liste de dictionnaires, à convertir les types et à traiter les cas imparfaits : en-tête, séparateur, valeurs manquantes et doublons.

Règles et concepts

  • Un fichier CSV contient des lignes et des colonnes ; la première ligne est souvent un en-tête. Le séparateur peut être une virgule, un point-virgule ou une tabulation.
  • Les champs lus dans un fichier sont des chaînes. Il faut convertir avec int ou float avant un calcul numérique.
  • Une table peut être représentée par une liste de listes, où chaque ligne est une liste, ou par une liste de dictionnaires, où chaque dictionnaire associe un nom de colonne à une valeur.
  • Filtrer consiste à garder les lignes qui vérifient une condition ; trier consiste à ordonner selon une clé ; agréger consiste à calculer une somme, une moyenne, un minimum ou un maximum.
  • Une jointure rapproche deux tables par une clé commune. Il faut vérifier l'unicité et le type des clés, sinon des lignes sont perdues ou dupliquées.

Exemple travaillé

Soit lignes = [{'nom': 'Ada', 'note': '18'}, {'nom': 'Bob', 'note': '7'}]. Pour calculer la moyenne des notes supérieures ou égales à 10, on convertit d'abord chaque note avec int(ligne['note']), puis on filtre. Ici, 18 est retenu, 7 est écarté ; la moyenne des notes retenues vaut 18.0. Si l'on oublie la conversion, la comparaison '18' >= 10 provoque une erreur de type en Python 3.

Pièges fréquents

Comparer des chaînes comme des nombres ; oublier l'en-tête ; supposer que la virgule est toujours le séparateur ; ne pas gérer les guillemets autour d'un champ contenant le séparateur ; ignorer les valeurs vides ; joindre sur des clés de types différents, par exemple '12' et 12 ; compter les doublons sans le préciser.

À retenir

  • CSV : lignes, colonnes, en-tête et séparateur.
  • Les champs lus sont des chaînes à convertir.
  • Liste de listes ou liste de dictionnaires sont deux représentations valides.
  • Filtrer, trier, agréger et joindre sont les opérations centrales.
  • Une jointure exige une clé commune de type cohérent.