Données#

Une liste peut dĂ©crire une sĂ©rie de mesures ou une caractĂ©ristique d’un groupe. Avec plusieurs listes de mĂȘme longueur, les Ă©lĂ©ments de mĂȘme indice concernent le mĂȘme individu. On peut alors sĂ©lectionner, compter et calculer des indicateurs avec les outils dĂ©jĂ  rencontrĂ©s.

Cette page commence par de petits tableaux entiĂšrement visibles. Les indicateurs et les applications plus longues arrivent seulement ensuite.

DĂšs la seconde

La page est organisée en deux blocs. Le premier suffit pour apprendre à lire et filtrer un petit jeu de données ; le second ajoute les indicateurs et les graphiques.

Organiser et lire

Relier les colonnes, filtrer des lignes et ouvrir un petit fichier CSV.

Organiser et lire des données
Mesurer et représenter

Calculer des indicateurs, puis produire un graphique.

Mesurer et représenter

Organiser et lire des données#

Des informations qui se correspondent#

Dans l’exemple suivant, les Ă©lĂ©ments d’indice 2 dĂ©crivent tous InĂšs : son prĂ©nom, sa classe et son moyen de transport.

Un mĂȘme indice dĂ©signe une mĂȘme ligne#

indice

prénom

classe

transport

0

Lina

2A

bus

1

Noé

2B

vélo

2

InĂšs

2A

marche

3

Adam

2A

bus

4

Zoé

2B

bus

5

Yanis

2A

vélo

Dans le tableau, on lit une personne sur une ligne. Dans le programme, chaque colonne est rangĂ©e dans une liste ; l’indice permet de retrouver la ligne commune. Cette organisation est utile pour s’entraĂźner avec les listes, mĂȘme si de vrais fichiers de donnĂ©es utilisent souvent des outils spĂ©cialisĂ©s.

Exemple
Trois informations par élÚve
PrĂȘt
Sortie

  

Les listes doivent avoir la mĂȘme longueur et conserver le mĂȘme ordre. Avant de traiter les donnĂ©es, il est utile de vĂ©rifier quelques lignes Ă  la main.

Sélectionner certaines lignes#

La sélection suivante conserve les élÚves de 2A qui ne viennent pas en bus. La variable i désigne successivement les indices 0, 1, 2, etc.

Exemple
Filtrer avec deux critĂšres
PrĂȘt
Sortie

  

Prévois les deux prénoms obtenus, puis remplace and par or et explique pourquoi la sélection devient plus grande.

Filtrer des données

À partir des listes suivantes, construire et afficher la liste des villes du Nord dont la population dĂ©passe strictement 50 000 habitants.

villes = ["Lille", "Arras", "Douai", "Amiens", "Cambrai"]

departements = ["Nord", "Pas-de-Calais", "Nord", "Somme", "Nord"]

populations = [236000, 42000, 39000, 135000, 32000]

À toi
Filtrer plusieurs colonnes
À faire
Sortie

  

Présenter les données par lignes#

La mĂȘme table peut ĂȘtre rangĂ©e autrement : chaque petite liste reprĂ©sente alors une ligne complĂšte. Les crochets sont emboĂźtĂ©s parce qu’une grande liste contient plusieurs petites listes.

Exemple
Parcourir un tableau de données
PrĂȘt
Sortie

  

Ainsi, donnees[0] désigne toute la ligne de Lille, tandis que donnees[0][2] désigne seulement sa population. Les deux organisations sont possibles : plusieurs listes représentent des colonnes, une liste de petites listes représente des lignes.

Lire un petit fichier CSV#

Un fichier CSV est un fichier texte dont chaque ligne contient plusieurs informations séparées par un caractÚre, ici un point-virgule. Le fichier eleves.csv est préchargé dans les cellules sous le nom eleves.csv.

Le module csv dĂ©coupe chaque ligne. Le premier appel Ă  next lit les noms des colonnes ; la boucle traite ensuite les donnĂ©es une ligne aprĂšs l’autre.

Exemple
Ouvrir et lire un fichier CSV
PrĂȘt
Sortie

  

L’encodage utf-8 permet de lire correctement les accents. float transforme le texte de la troisiĂšme colonne en nombre dĂ©cimal. Sans cette conversion, Python lirait toutes les valeurs d’un fichier CSV comme du texte.

Lire le fichier

À partir du mĂȘme fichier, afficher les prĂ©noms des Ă©lĂšves de 2A dont la note est supĂ©rieure ou Ă©gale Ă  12. Le programme doit ouvrir eleves.csv et convertir la note en nombre.

À toi
Sélectionner des lignes du fichier
À faire
Sortie

  

Un indice qui dépasse#

Ce programme contient une erreur classique. ExĂ©cute-le, puis compare l’indice signalĂ© avec le nombre d’élĂ©ments de la liste.

À corriger
Retrouver la bonne borne
Erreur attendue
Sortie

  
Comment chercher ?

La liste contient quatre Ă©lĂ©ments, donc ses indices vont de 0 Ă  3. Il faut chercher pourquoi la boucle demande un cinquiĂšme indice. Une borne utilisant len(villes) s’adapterait aussi Ă  une liste de longueur diffĂ©rente.

Construire un tableau croisé#

On veut compter séparément les élÚves de 2A et de 2B qui viennent en bus ou autrement. Quatre compteurs correspondent aux quatre cases du tableau.

Exemple
Compter quatre catégories
PrĂȘt
Sortie

  

La grande liste tableau contient deux lignes. La premiĂšre correspond Ă  2A, la seconde Ă  2B.

Lecture de la liste imbriquée#

bus

autre

2A

tableau[0][0]

tableau[0][1]

2B

tableau[1][0]

tableau[1][1]

La somme des quatre cases doit retrouver le nombre total d’élĂšves. Une frĂ©quence conditionnelle utilise seulement l’effectif du groupe concernĂ© comme dĂ©nominateur.

Construire le tableau

  1. Écrire une fonction tableau_croise(groupes, reponses). Les groupes valent "A" ou "B" et les rĂ©ponses "oui" ou "non". La fonction renvoie [[A_oui, A_non], [B_oui, B_non]].

À toi
Tableau croisé
À faire
Sortie

  
  1. Écrire une fonction frequence_oui_A(groupes, reponses) qui renvoie la frĂ©quence des rĂ©ponses "oui" parmi les individus du groupe A.

À toi
Fréquence dans un groupe
À faire
Sortie

  

Mesurer et représenter#

Mesurer une série#

La moyenne dĂ©crit un niveau central. L’écart type mesure la dispersion autour de cette moyenne :

\[\sigma=\sqrt{\frac{(x_1-\bar x)^2+\cdots+(x_n-\bar x)^2}{n}}.\]
Exemple
Moyenne et écart type
PrĂȘt
Sortie

  

Une fonction peut renvoyer plusieurs rĂ©sultats. L’instruction return moyenne, variance, ecart_type produit un groupe de trois valeurs ; on peut ensuite les rĂ©cupĂ©rer avec m, v, s = indicateurs(valeurs).

Calculer des indicateurs

  1. Écrire une fonction indicateurs(valeurs) qui renvoie, dans cet ordre, la moyenne, la variance et l’écart type d’une liste non vide.

À toi
Trois indicateurs
À faire
Sortie

  
  1. Les sĂ©ries A = [8, 9, 10, 11, 12] et B = [2, 6, 10, 14, 18] ont la mĂȘme moyenne. Calculer leurs Ă©carts types et afficher une phrase indiquant la sĂ©rie la plus dispersĂ©e.

À toi
Comparer deux dispersions
À faire
Sortie

  

Tracer des données#

Un graphique aide Ă  voir une Ă©volution ou une rĂ©partition. Le module matplotlib reçoit une liste d’abscisses et une liste d’ordonnĂ©es de mĂȘme longueur. plot relie les points ; show demande l’affichage du graphique.

Exemple
Premier graphique
PrĂȘt
Sortie

  

Le style "o-" affiche les points et les relie. Les commandes portant sur le titre, les axes et la grille rendent la figure compréhensible sans avoir à relire le programme.

Tracer une évolution

Tracer les températures [6, 8, 11, 15, 19, 22] correspondant aux mois de janvier à juin, numérotés de 1 à 6. Ajouter un titre, le nom des axes, des points visibles et une grille.

À toi
Représenter une évolution
À faire
Sortie

  

Les deux activitĂ©s suivantes rĂ©emploient les mĂȘmes outils dans des contextes diffĂ©rents. Elles sont indĂ©pendantes : il est possible d’ouvrir seulement celle qui correspond au travail du moment.

Une loi de probabilité

DĂšs la premiĂšre

Pour une variable aléatoire prenant les valeurs \(x_i\) avec les probabilités \(p_i\), les probabilités jouent le rÎle de coefficients :

\[E(X)=\sum p_ix_i, \qquad V(X)=\sum p_i\bigl(x_i-E(X)\bigr)^2, \qquad \sigma(X)=\sqrt{V(X)}.\]

Les valeurs et leurs probabilitĂ©s sont placĂ©es dans deux listes de mĂȘme longueur. La somme des probabilitĂ©s doit valoir 1.

Étudier une loi

Écrire une fonction indicateurs_loi(valeurs, probabilites) qui renvoie l’espĂ©rance, la variance et l’écart type de la variable alĂ©atoire.

À toi
Indicateurs d’une variable alĂ©atoire
À faire
Sortie

  
Une application avec du texte

Les donnĂ©es ne sont pas toujours des nombres. Un texte peut ĂȘtre parcouru caractĂšre par caractĂšre ; la mĂ©thode lower() transforme les majuscules en minuscules.

Exemple
FrĂ©quence d’une lettre
PrĂȘt
Sortie

  

Le dénominateur dépend de la question : tous les caractÚres, ou seulement les lettres ? Il faut annoncer le choix fait par le programme.

Analyser un texte

Écrire une fonction frequences_lettres(texte) qui renvoie une liste de 26 frĂ©quences dans l’ordre de l’alphabet. Les espaces et la ponctuation sont ignorĂ©s. On pourra utiliser la chaĂźne "abcdefghijklmnopqrstuvwxyz".

À toi
FrĂ©quences de l’alphabet
À faire
Sortie

  

Dans le parcours