Manipulation de DataFrames

Data Science
Data & IA
Manipuler, filtrer, grouper et analyser des jeux de données structurés en tables 2D interactives.

Un DataFrame est une table organisée pour enquêter sur des données.

Il se lit avec trois repères :

Trois repères

Index Nom Âge Score
d01 Alice 28 0.92
d02 Bob 35
d03 Charlie 42 0.78
d04 David 19 0.85

Cette table contient quatre individus. Chacun possède un identifiant, puis plusieurs informations observées.

Index

L’index est l’identifiant de l’individu.

Comme un numéro de sécurité sociale, il sert à désigner une personne sans ambiguïté.

Index Individu
d01 Alice
d02 Bob
d03 Charlie
d04 David

Manipuler : retrouver directement d03.

Série statistique

Une colonne est une série statistique : la même information mesurée pour plusieurs individus.

Index Âge
d01 28
d02 35
d03 42
d04 19

Évaluer : repérer une valeur étonnante, comparer, résumer.

Individu

Une ligne est un individu : tout ce que l’on sait sur une observation.

Variable Valeur
Index d03
Nom Charlie
Âge 42
Score 0.78

Comprendre : lire le profil complet de Charlie.

Ne pas confondre les gestes

Ces trois repères ne servent pas au même moment.

Question Repère à utiliser Geste courant
Qui est-ce ? Index sélectionner avec loc
Que sait-on de cet individu ? Ligne inspecter une observation
Comment varie cette information ? Colonne analyser une série
# Index : retrouver un individu précis
df.loc["d03"]

# Ligne : inspecter un individu
df.loc["d03", ["Nom", "Âge", "Score"]]

# Colonne : travailler sur une série statistique
df["Âge"]

On ne fait pas encore de statistiques ici. On apprend d’abord à pointer la bonne partie du tableau.

Lire une série

Le graphique représente une seule colonne. Chaque barre reste attachée à son index : d03 correspond toujours à Charlie.

Retrouver un individu

Un index utile évite de deviner. Il donne un chemin direct vers l’individu demandé.

Manipuler sans se perdre

Pour comprendre un DataFrame, on alterne entre trois niveaux de lecture.

Sélectionner

On part d’un identifiant ou d’une condition.

df.loc["d03"]
df[df["Âge"] >= 30]

La question est : quels individus garder ?

Évaluer

On vérifie si une série semble cohérente avant d’aller plus loin.

df["Âge"].min()
df["Âge"].max()

La question est : cette colonne raconte-t-elle quelque chose de plausible ?

Comprendre

On revient à quelques individus pour donner du sens aux chiffres.

df.loc[["d01", "d03"]]

La question est : quels cas concrets expliquent le résultat ?

À retenir

Le DataFrame est une carte d’enquête. On ne le lit pas toujours dans le même sens.

Repère Image mentale Sert à
Index numéro de sécurité sociale identifier sans ambiguïté
Individu ligne du tableau comprendre un cas concret
Série statistique colonne du tableau comparer une information

Une fois ces trois repères maîtrisés, on peut passer à la question suivante : comment ces lignes et colonnes sont rangées en mémoire.