4- Traitement d'une grande base de données géolocalisées avec pandas/dask
Idea: using the Elena's dataset of species occurences + environment variables.
Danger
Suggestions:
- avec les variables environnementales de copernicus
- de grandes bases de données bio climatiques, qu'on peut plotter
- et maxent sur des données d'occurence en méditerrannée => filtrage
On doit pouvoir illustrer :
- calculer une colonne à partir d'autres colonnes
- filtrer des données sur une colonne particulière et calculer des statistiques descriptives
- gérer des données hétérogènes (e.g. dates, floatants, symboles)
- gestion des données manquantes (NaN, etc..)
- grouper des données en fonction de certaines valeurs dans des colonnes
Idée : travailler sur un petit jeu de données gridées, appliquer sur des données sparses ?
Environnement virtuel
Pour réaliser les exercices ci-dessous, on pourra se créer un environnement virtuel, par exemple en utilisant uv :
Pour installer uv :
Pour créer un environnement virtuel, par exemple avec python 3.12:
Pour installer les dépendances de ce TP
Cas réel : Modèle de distribution d'éspèces
On se propose d'appliquer ce que nous venons de voir à un cas réel, celui de la construction d'un modèle de distribution d'éspèce.
Pour donner un peu de contexte, un modèle de distribution d'éspèce est une fonction mathématique qui, étant données des variables environnementales (température, précipitations, pH, force du vent, présence de nutriments, nature du sol obtenu par satellite, etc.. éventuellement longitude, latitude, temps) prédit la probabilité d'observer une espèce qu'elle soit marine ou terrestre.
Dans ce qui suit, nous allons nous placer dans un contexte terrestre, utilisant les données mis à disposition par [Elith et al.(2020)]. Dans ce travail, les auteurs ont aggrégés plusieurs bases de données à travers le globe avec les données environnementales et les données de présence et/ou d'absence d'espèces particulières.
Les images ci-dessous représentent les données sur 4 régions :
- AWT : Queensland (Australie), oiseaux et plantes,
- NSW : New South Wales (Australie), oiseaux, plantes, petits reptiles, chauves souris,
- SA : Brésil, Equateur, Colombie, Bolivie, Peru : plantes,
- CAN : Ontario (Canada), oiseaux.
Une des particularités, et même une des difficultés, des données d'observation en écologie sont qu'elles sont bien souvent des présences seules; c'est à dire que la présence d'une espèce est renseignée dans la base (quelqu'un a vu une hirondelle à tel endroit et à tel moment) mais les absences ne le sont pas. Comme l'objectif de ce TP est avant tout de pratiquer python, et en particulier pandas
, vous allez utiliser une approche clé en main : l'algorithme MaxEnt.
Danger
Todo : illustrer des données climatiques et des données de présence.
References
Suggestion de Euroscipy 2025 :
What is a DataFrame?
Creating a DataFrame (from dicts, CSV, etc.)
Exploring data:
.head(), .info(), .describe()
Accessing columns and rows: df['col'], .loc, .iloc
Filtering and boolean indexing
Common operations:
Sorting (.sort_values()), grouping (.groupby()), aggregation
Handling missing values: .isna(), .fillna(), .dropna()
Simple data visualization with .plot() (optional if time)
Hands-on exercises:
Load a small CSV
Filter rows by condition
Group by a column and compute summary stats
Why Polars? Performance and parallelism
Quick comparison with Pandas (syntax similarities/differences)
Lazy vs eager evaluation
Basic usage:
pl.read_csv, df.select, df.filter, df.groupby
Hands-on mini demo (load and filter data)
Euroscipy 2023
https://pretalx.com/euroscipy-2023/talk/PWER3Z/
https://stefaniemolin.com/pandas-workshop/
References
- Data wrangling with pandas
- Maxime Ryckewaert and Diego Marcos and Christophe Botella and Maximilien Servajean and Pierre Bonnet and Alexis Joly 2025. "Applying the maximum entropy principle to neural networks enhances multi-species distribution models", https://doi.org/10.48550/arXiv.2412.19217,
- Elith, Jane, Catherine Graham, Roozbeh Valavi, Meinrad Abegg, Caroline Bruce, Simon Ferrier, Andrew Ford, et al. 2020. "Presence-Only and Presence-Absence Data for Comparing Species Distribution Modeling Methods". Biodiversity Informatics 15 (2): 69-80. https://doi.org/10.17161/bi.v15i2.13384.