DataFrames Pandas

Un Data Frame est un objet qui est présent dans la plupart des logiciels de traitements de données, c’est une matrice à 2 dimensions, chaque colonne a un type et toutes les cellules de cette colonne sont de ce type (nombre, dates, texte). Une cellule peut contenir une valeur manquante. On peut considérer chaque colonne comme les variables d’une table (pandas.Dataframe - cette page contient toutes les méthodes de la classe).

Quelques liens : An Introduction to Pandas

Tous les exemples utilisent un jeu de données de l'ONU contenant par pays ("country"), par année ("year") et par secteur("code" ou "sub_item"), la valeur ajoutée monétaire du secteur dans ce pays cette année là ("VA1" ou "VA2"), la monnaie ("currency"), et la masse salariale du secteur cette année là ("WAGE1"). Les données uilisées pour l'exemple (accessible sur github) peuvent être remplacées par n'importe quelle table disponible sur le site : data.un.org.

Lecture et écriture sur disque

Manipulation basique

La première ligne a pour indice 0 :

Documentation describe :

Documentation : sortlevel

Documentation : reset_index

Manipulation avancée

filter

filter : on sélectionne un sous-ensemble de lignes qui vérifie une condition

Filter consiste à sélectionner un sous-ensemble de lignes du dataframe. Pour filter sur plusieurs conditions, il faut utiliser les opérateurs logique & (et), | (ou), ~ (non)

union : concaténation de deux Data Frames

union = concaténation de deux DataFrame (qui n’ont pas nécessaire les mêmes colonnes). On peut concaténer les lignes ou les colonnes

sort : tri des lignes

sort

group by : grouper des lignes qui partagent une valeur commune

Cette opération consiste à grouper les lignes qui partagent une caractéristique commune (une ou ou plusieurs valeurs par exemple). Sur chaque groupe, on peut calculer une somme, une moyenne...

pivot : utiliser des valeurs présentes dans colonne comme noms de colonnes

pivot (tableau croisé dynamique)

Cette opération consiste à créer une seconde table en utilisant utiliser les valeurs d’une colonne comme nom de colonnes.

join : fusionner deux Data Frames en associant les lignes qui partagent une valeur commune

Fusionner deux tables consiste à apparier les lignes de la première table avec celle de la seconde si certaines colonnes de ces lignes partagent les mêmes valeurs. On distingue quatre cas :

INNER JOIN - inner : on garde tous les appariements réussis

LEFT OUTER JOIN - left : on garde tous les appariements réussis et les lignes non appariées de la table de gauche

RIGHT OUTER JOIN - right : on garde tous les appariements réussis et les lignes non appariées de la table de droite

FULL OUTER JOIN - outer : on garde tous les appariements réussis et les lignes non appariées des deux tables

Exemples et documentation :

Exercice: moyennes par groupes

Calculer par exemple pour chaque pays, la moyenne des salaires au cours des années.