- 1
- Calculer la valeur absolue de chaque valeur numérique.
Annexe B — Pandas
La documentation officielle de pandas est complète, mais elle peut être dense au début. Ce document propose une paraphrase simplifiée des principales fonctions et méthodes utilisées pendant les semaines 2 à 11.
Chaque entrée indique:
- l’objectif principal de la fonction;
- les arguments les plus utiles pour ce cours;
- un exemple proche du catalogue de tsunamis déclenchés par des glissements de terrain;
- un lien vers la documentation officielle.
Les exemples privilégient les DataFrame, car c’est l’objet principal manipulé dans le cours.
Documentation
.abs()
Objectif: calculer la valeur absolue de chaque valeur numérique.
Arguments principaux:
- Aucun argument n’est requis; la méthode s’applique à chaque valeur numérique de la
Seriesou duDataFrame.
Exemple:
À retenir: utile pour mesurer un écart sans tenir compte du signe.
.agg()
Objectif: appliquer une ou plusieurs fonctions de résumé à un tableau ou à des groupes.
Arguments principaux:
func(str, fonction oulist): opération à appliquer, par exemple"mean","median","count"ou une liste de ces fonctions;nom_resultat=("colonne", "fonction")(tuple[str, str]): syntaxe nommée indiquant la colonne source et le résumé à calculer aprèsgroupby().
Exemple:
- 1
- Appliquer une ou plusieurs fonctions de résumé à un tableau ou à des groupes.
À retenir: après groupby(), .agg() permet de construire un tableau de synthèse propre.
.copy()
Objectif: créer une copie indépendante d’un tableau.
Arguments principaux:
deep(bool):Truecrée une copie indépendante des données et de leur index.
Exemple:
À retenir: après un filtrage, .copy() rend le code plus explicite et évite certains avertissements lorsque l’on ajoute des colonnes.
.clip()
Objectif: limiter les valeurs numériques à un intervalle donné.
Arguments principaux:
lower(float): valeur minimale autorisée; les valeurs plus faibles sont remplacées par cette borne;upper(float): valeur maximale autorisée; les valeurs plus élevées sont remplacées par cette borne.
Exemple:
- 1
- Limiter les valeurs numériques à un intervalle donné.
À retenir: .clip() remplace les valeurs situées hors de l’intervalle par les bornes choisies. Il faut toujours justifier scientifiquement cette transformation.
.corr()
Objectif: calculer des corrélations entre colonnes numériques.
Arguments principaux:
method(str): coefficient à calculer;"pearson"mesure une relation linéaire et"spearman"une association fondée sur les rangs;numeric_only(bool): limiter la matrice aux colonnes numériques duDataFrame.
Exemple:
- 1
- Calculer des corrélations entre colonnes numériques.
À retenir: une corrélation décrit une association statistique. Elle ne prouve pas une relation de cause à effet.
.columns
Objectif: obtenir les noms des colonnes d’un DataFrame.
Arguments principaux:
- Aucun argument:
.columnsest un attribut qui renvoie l’Indexcontenant les noms des colonnes.
Exemple:
À retenir: on ajoute souvent .tolist() pour convertir les noms de colonnes en liste Python plus facile à lire.
pd.DataFrame()
Objectif: créer un tableau pandas à partir de données déjà disponibles en Python.
Arguments principaux:
data(dictou liste dedict): données à organiser en lignes et colonnes;columns(list[str]): noms et ordre des colonnes à conserver.
Exemple:
- 1
- Créer un tableau pandas à partir de données déjà disponibles en Python.
À retenir: dans le cours, cette fonction sert surtout à transformer une liste de résultats en tableau exploitable.
.describe()
Objectif: produire rapidement des statistiques descriptives.
Arguments principaux:
include(str):"all"inclut aussi les colonnes non numériques d’unDataFrame;percentiles(list[float]): quantiles à afficher, exprimés entre0et1.
Exemple:
- 1
- Produire rapidement des statistiques descriptives.
À retenir: bon premier aperçu, mais il ne remplace pas une inspection des valeurs extrêmes et des données manquantes.
.drop()
Objectif: retirer des lignes ou des colonnes.
Arguments principaux:
index(str,intou liste): étiquette(s) des lignes à retirer;columns(stroulist[str]): nom(s) des colonnes à retirer;inplace(bool):Falserenvoie un nouveau tableau sans modifier l’original.
Exemple:
- 1
- Retirer des lignes ou des colonnes.
À retenir: utile pour tester si un résultat dépend d’un événement extrême.
.drop_duplicates()
Objectif: supprimer les lignes dupliquées selon une ou plusieurs colonnes.
Arguments principaux:
subset(stroulist[str]): colonne(s) utilisées pour identifier les doublons;keep(stroubool):"first"conserve la première occurrence,"last"la dernière etFalsesupprime toutes les occurrences dupliquées.
Exemple:
- 1
- Supprimer les lignes dupliquées selon une ou plusieurs colonnes.
À retenir: le tri avant .drop_duplicates() détermine quelle ligne sera conservée.
.dropna()
Objectif: retirer les lignes ou colonnes qui contiennent des valeurs manquantes.
Arguments principaux:
subset(list[str]): colonnes dans lesquelles rechercher les valeurs manquantes;how(str):"any"retire une ligne dès qu’une valeur est manquante;"all"exige que toutes le soient.
Exemple:
- 1
- Retirer les lignes ou colonnes qui contiennent des valeurs manquantes.
À retenir: toujours préciser les colonnes importantes avec subset; sinon on risque de retirer trop de lignes.
.groupby()
Objectif: diviser un tableau en groupes selon une ou plusieurs colonnes, puis calculer des résumés par groupe.
Arguments principaux:
by(stroulist[str]): colonne(s) catégorielles utilisées pour former les groupes;dropna(bool):Falseconserve un groupe correspondant aux valeurs manquantes;observed(bool):Trueconserve uniquement les catégories réellement observées.
Exemple:
- 1
- Diviser un tableau en groupes selon une ou plusieurs colonnes, puis calculer des résumés par groupe.
À retenir: groupby() prépare les groupes; il faut ensuite appeler une méthode comme .agg(), .mean() ou .median().
.size() après groupby()
Objectif: compter le nombre de lignes dans chaque groupe, y compris lorsque certaines valeurs des autres colonnes sont manquantes.
Arguments principaux:
- Aucun argument: après
groupby(), la méthode renvoie le nombre de lignes de chaque groupe sous la forme d’uneSeries.
Exemple:
À retenir: .size() compte les lignes; .count() compte les valeurs non manquantes d’une colonne.
.head()
Objectif: afficher les premières lignes d’un tableau.
Arguments principaux:
n(int): nombre de premières lignes à renvoyer; la valeur par défaut est5.
Exemple:
À retenir: .head() sert à inspecter, pas à analyser tout le tableau.
.tail()
Objectif: afficher les dernières lignes d’un tableau.
Arguments principaux:
n(int): nombre de dernières lignes à renvoyer; la valeur par défaut est5.
Exemple:
À retenir: .tail() complète .head() lorsque l’ordre du fichier peut révéler un problème d’importation ou de tri.
.idxmax()
Objectif: trouver l’index de la valeur maximale.
Arguments principaux:
axis(int):0recherche l’étiquette de la valeur maximale dans chaque colonne.
Exemple:
- 1
- Trouver l’index de la valeur maximale.
À retenir: .idxmax() renvoie l’index, pas la valeur maximale elle-même.
.iloc[]
Objectif: sélectionner des lignes ou colonnes selon leur position numérique.
Arguments principaux:
rows(intouslice): position(s) numériques des lignes, par exemple0ou:;columns(intouslice): position(s) numériques des colonnes, placées après la virgule.
Exemple:
- 1
- Sélectionner des lignes ou colonnes selon leur position numérique.
À retenir: .iloc[] utilise des positions, pas des noms de lignes ou de colonnes.
.info()
Objectif: résumer la structure du tableau.
Arguments principaux:
verbose(bool):Trueaffiche le détail de toutes les colonnes;show_counts(bool):Trueaffiche le nombre de valeurs non manquantes par colonne.
Exemple:
À retenir: c’est souvent l’une des premières commandes à lancer après un import.
.index
Objectif: obtenir les labels des lignes d’un DataFrame.
Arguments principaux:
- Aucun argument:
.indexest un attribut qui renvoie les étiquettes des lignes sous la forme d’unIndex.
Exemple:
À retenir: l’index identifie les lignes. Il peut s’agir d’une numérotation automatique ou de labels définis avec .set_index().
len()
Objectif: compter le nombre de lignes d’un DataFrame.
Arguments principaux:
obj(DataFrame,Series,listoustr): objet dont compter le nombre d’éléments.
Exemple:
À retenir: len(df) compte les lignes, pas les tsunamis uniques.
print()
Objectif: afficher une valeur ou un message dans la sortie d’une cellule.
Arguments principaux:
objects(tout type Python): un ou plusieurs objets à afficher;sep(str): texte placé entre plusieurs objets;end(str): texte ajouté à la fin de l’affichage,"\n"par défaut.
Exemple:
À retenir: print() facilite la lecture d’un résultat, mais ne modifie pas les données.
.loc[]
Objectif: sélectionner des lignes ou colonnes selon leur nom ou leur index.
Arguments principaux:
rows(étiquette,Seriesbooléenne ouslice): lignes sélectionnées par leur nom ou par une condition;columns(stroulist[str]): colonne(s) sélectionnées après la virgule.
Exemple:
- 1
- Sélectionner des lignes ou colonnes selon leur nom ou leur index.
À retenir: .loc[] utilise les étiquettes d’index et les noms de colonnes, contrairement à .iloc[].
.max()
Objectif: trouver la valeur maximale dans une ou plusieurs colonnes.
Arguments principaux:
numeric_only(bool):Truelimite le calcul aux colonnes numériques d’unDataFrame;skipna(bool):Trueignore les valeurs manquantes.
Exemple:
- 1
- Trouver la valeur maximale dans une ou plusieurs colonnes.
À retenir: .max() renvoie la valeur maximale; .idxmax() renvoie l’index où elle se trouve.
.mean()
Objectif: calculer une moyenne.
Arguments principaux:
numeric_only(bool):Truelimite le calcul aux colonnes numériques d’unDataFrame;skipna(bool):Trueignore les valeurs manquantes.
Exemple:
À retenir: la moyenne est sensible aux valeurs extrêmes.
.median()
Objectif: calculer une médiane.
Arguments principaux:
numeric_only(bool):Truelimite le calcul aux colonnes numériques d’unDataFrame;skipna(bool):Trueignore les valeurs manquantes.
Exemple:
À retenir: la médiane est souvent plus robuste que la moyenne quand il existe des valeurs extrêmes.
.min()
Objectif: trouver la valeur minimale dans une ou plusieurs colonnes.
Arguments principaux:
numeric_only(bool):Truelimite le calcul aux colonnes numériques d’unDataFrame;skipna(bool):Trueignore les valeurs manquantes.
Exemple:
- 1
- Trouver la valeur minimale dans une ou plusieurs colonnes.
À retenir: utile pour vérifier les valeurs impossibles, par exemple une hauteur négative.
.mul()
Objectif: multiplier les valeurs par un nombre ou par un autre tableau.
Arguments principaux:
other(float,SeriesouDataFrame): valeur ou objet aligné par lequel multiplier les données.
Exemple:
- 1
- Multiplier les valeurs par un nombre ou par un autre tableau.
À retenir: dans le cours, .mul(100) sert surtout à passer d’une fraction à un pourcentage.
.notna()
Objectif: repérer les valeurs disponibles, c’est-à-dire non manquantes.
Arguments principaux:
- Aucun argument: la méthode teste chaque valeur et renvoie des booléens, avec
Truepour une valeur présente.
Exemple:
- 1
- Repérer les valeurs disponibles, c’est-à-dire non manquantes.
À retenir: combiné avec .mean(), .notna() permet de calculer une fraction de données disponibles.
.nunique()
Objectif: compter le nombre de valeurs différentes.
Arguments principaux:
dropna(bool):Trueexclut les valeurs manquantes du nombre de valeurs uniques;axis(int):0effectue le comptage séparément dans chaque colonne d’unDataFrame.
Exemple:
À retenir: indispensable pour distinguer le nombre de lignes, de glissements et de tsunamis.
.quantile()
Objectif: calculer un quantile.
Arguments principaux:
q(floatoulist[float]): quantile(s) compris entre0et1;0.5correspond à la médiane;numeric_only(bool):Truelimite le calcul aux colonnes numériques d’unDataFrame.
Exemple:
À retenir: les quantiles permettent de décrire la dispersion sans dépendre seulement de la moyenne.
pd.read_csv()
Objectif: lire un fichier texte tabulaire et le transformer en DataFrame.
Arguments principaux:
filepath_or_buffer(str): chemin du fichier CSV à lire;sep(str): caractère séparant les colonnes,","par défaut;na_values(stroulist): valeurs supplémentaires à interpréter comme manquantes;dtype(dict): type imposé à certaines colonnes, sous la forme{"colonne": "type"}.
Exemple:
- 1
-
Lire un fichier texte tabulaire et le transformer en
DataFrame.
À retenir: toujours inspecter le résultat avec .head() et .info() après l’import.
.reset_index()
Objectif: transformer l’index en colonne ordinaire et recréer un index simple.
Arguments principaux:
drop(bool):Truesupprime l’ancien index au lieu de le transformer en colonne;names(str): nom donné à la colonne créée à partir de l’index.
Exemple:
- 1
- Transformer l’index en colonne ordinaire et recréer un index simple.
À retenir: utile après un groupby() ou un value_counts() pour retrouver un tableau classique.
.round()
Objectif: arrondir les valeurs numériques pour l’affichage.
Arguments principaux:
decimals(intoudict[str, int]): nombre de décimales appliqué à toutes les valeurs ou séparément à chaque colonne.
Exemple:
À retenir: arrondir améliore la lisibilité, mais il vaut mieux garder les valeurs non arrondies pour les calculs.
.set_index()
Objectif: utiliser une ou plusieurs colonnes comme labels des lignes.
Arguments principaux:
keys(stroulist[str]): colonne(s) à utiliser comme nouvel index;drop(bool):Trueretire ces colonnes du tableau après leur transfert dans l’index;inplace(bool):Falserenvoie un nouveau tableau sans modifier l’original.
Exemple:
À retenir: choisissez comme index une colonne dont les valeurs identifient clairement les observations.
.shape
Objectif: connaître la taille d’un DataFrame.
Arguments principaux:
- Aucun argument:
.shapeest un attribut qui renvoie untuple[int, int]contenant le nombre de lignes et de colonnes.
Exemple:
À retenir: le résultat est un couple (nombre_de_lignes, nombre_de_colonnes).
.sort_values()
Objectif: trier les lignes selon une ou plusieurs colonnes.
Arguments principaux:
by(stroulist[str]): colonne(s) utilisées successivement pour trier les lignes;ascending(booloulist[bool]):Truetrie par ordre croissant etFalsepar ordre décroissant.
Exemple:
- 1
- Trier les lignes selon une ou plusieurs colonnes.
À retenir: trier ne change pas le sens scientifique des données, mais rend certains événements plus faciles à inspecter.
Méthodes de texte .str
Objectif: rechercher, normaliser ou remplacer du texte dans une colonne.
Arguments principaux:
.str.contains(pat)(str): teste si chaque valeur contient le texte ou motif régulier fourni;.str.extract(pat)(str): extrait la partie correspondant à une expression régulière;.str.lower(): ne reçoit aucun argument et convertit les textes en minuscules;.str.replace(pat, repl)(str,str): remplace le texte ou motifpatparrepl.
Exemple:
- 1
- Rechercher, normaliser ou remplacer du texte dans une colonne.
À retenir: les méthodes .str s’appliquent aux valeurs textuelles d’une colonne. Pour .str.contains(), na=False évite qu’une valeur manquante produise un masque indéterminé.
.sum()
Objectif: additionner les valeurs.
Arguments principaux:
numeric_only(bool):Truelimite la somme aux colonnes numériques d’unDataFrame;skipna(bool):Trueignore les valeurs manquantes.
Exemple:
À retenir: sur des colonnes booléennes, .sum() compte le nombre de True.
.std()
Objectif: calculer l’écart-type empirique d’une série numérique.
Arguments principaux:
skipna(bool):Trueignore les valeurs manquantes;ddof(int): correction des degrés de liberté;1produit l’écart-type d’échantillon avec le dénominateur \(n-1\).
Exemple:
- 1
- Mesurer la dispersion des hauteurs autour de leur moyenne dans l’unité originale.
À retenir: l’écart-type décrit la variabilité des observations; il ne doit pas être confondu avec l’erreur-type d’une estimation.
.to_list() / .tolist()
Objectif: convertir des noms de colonnes ou des valeurs pandas en liste Python.
Arguments principaux:
- Aucun argument: la méthode convertit les valeurs de la
Seriesou du tableau NumPy enlistPython.
Exemple:
- 1
- Convertir des noms de colonnes ou des valeurs pandas en liste Python.
À retenir: utile pour afficher ou réutiliser une liste de noms de colonnes.
.value_counts()
Objectif: compter les occurrences de valeurs ou de combinaisons de valeurs.
Arguments principaux:
subset(list[str]): colonnes utilisées pour compter les combinaisons dans unDataFrame;normalize(bool):Truerenvoie des proportions plutôt que des effectifs;dropna(bool):Falseconserve les valeurs manquantes dans le comptage;sort(bool):Trueclasse les résultats par fréquence décroissante.
Exemple:
- 1
- Compter les occurrences de valeurs ou de combinaisons de valeurs.
À retenir: dans le cours, on privilégie df[["water_body"]].value_counts() pour garder l’habitude de partir d’un DataFrame, même lorsqu’une seule colonne est comptée.
.between()
Objectif: tester si chaque valeur se trouve dans un intervalle inclusif.
Arguments principaux:
left(float): borne inférieure de l’intervalle;right(float): borne supérieure de l’intervalle;inclusive(str):"both"inclut les deux bornes.
Exemple:
À retenir: .between() produit un masque booléen utilisable directement pour filtrer les lignes.
.isin()
Objectif: tester si chaque valeur appartient à une liste de valeurs retenues.
Arguments principaux:
values(list,setouSeries): ensemble des valeurs considérées comme appartenant à la sélection.
Exemple:
- 1
- Tester si chaque valeur appartient à une liste de valeurs retenues.
À retenir: .isin() simplifie un filtre contenant plusieurs catégories possibles.
.sample()
Objectif: sélectionner aléatoirement des lignes.
Arguments principaux:
n(int): nombre de lignes à tirer;frac(float): fraction des lignes à tirer, utilisée à la place den;random_state(int): graine rendant le tirage reproductible.
Exemple:
- 1
- Réserver de manière reproductible 20 % des observations.
À retenir: une graine reproduit le tirage; elle ne garantit pas que le sous-échantillon représente parfaitement la population.
.to_csv()
Objectif: enregistrer un DataFrame dans un fichier CSV afin de réutiliser une table préparée.
Arguments principaux:
path_or_buf(str): chemin et nom du fichier à créer;index(bool):Falsen’enregistre pas l’index comme colonne supplémentaire;columns(list[str]): colonnes à exporter et ordre dans lequel les écrire.
Exemple:
- 1
-
Enregistrer le tableau
dfdans un fichier CSV. - 2
- Choisir un nom décrivant le contenu du fichier.
- 3
-
Ne pas ajouter l’index de
pandasaux variables scientifiques.
À retenir: sauvegarder une table préparée évite de répéter silencieusement des filtres ou des transformations dans une analyse ultérieure. Le nom du fichier doit rendre son contenu et son niveau de préparation explicites.