Le filtrage des données

Initiation au filtrage avec Excel et Python

Lorsqu’on dispose de nombreuses données, il peut être utile de les filtrer. C’est-à-dire que l’on en sélectionne une partie en fonction de critères choisis mais sans modifier le fichier de base.

Voyons comment obtenir un tel résultat, d’abord avec Excel puis avec Python.

 

Excel

Le tableau ci-dessous, réalisé sur Excel, indique les performances au saut en longueur (en cm) des médaillés d’or masculins aux jeux olympiques.

champions

Supposons que l’on souhaite afficher les performances supérieures à 8m50.

Positionnez le curseur n’importe où dans le tableau puis, dans la barre de menu, sélectionnez données puis Filtrer (avec le pictogramme qui représente un entonnoir). Sur Windows, vous pouvez aussi taper Ctrl + Shift + L. Des flèches apparaissent dans la ligne des en-têtes.

Cliquez sur la flèche de la colonne à filtrer, en l’occurrence « Performance ».

De là, vous avez accès à plusieurs filtrages. Il est possible de sélectionner des valeurs choisies (voir les filtres et tableaux dynamiques avec Excel) ou, comme il s’agit de valeurs, de procéder à un filtrage numérique. C’est ce que nous ferons puisque nous cherchons celles qui sont supérieures à 850.

menus

Il suffit d’indiquer « Supérieur ou égal à 850 », comme ci-dessous...

sup à 850

… pour obtenir le tableau suivant :

grands champions

Note : si l’on clique sur une colonne de texte, en l’occurrence les noms, Excel propose un filtre qui n’est pas numérique mais textuel.

 

Python

Avec Python, le plus simple est d’employer la fonction intégrée filter.

Ci-dessous, nous avons défini une fonction superieur qui renvoie les valeurs d’une liste supérieures ou égales à 5.

Compliquons juste un peu. Nous sommes en présence d’un tableau qui présente l’année olympique, le nom de l’athlète et sa performance au saut en longueur. Il s’agit cette fois des médaillées d’or féminines.

Nous sélectionnons les performances supérieures ou égales à 7m10. Elles apparaissent ci-dessous dans ce qui ressemble à une « liste de listes ».

Notez que nous filtrons sur le troisième élément. C’est pourquoi la condition porte sur x[2] (n’oubliez pas que Python compte à partir de zéro).

La sortie est bien sûr [[2012, 'Reese', 712], [2016, 'Bartoletta', 717]].