Syllabus du cours “Introduction à la manipulation de données avec Pandas”
1 Parcours “Data Science and Scientific Computing”
Depuis septembre 2024, l’université de Toulon propose, dans sa licence de Mathématiques, un parcours nommé Data Science and Scientific Computing. Il se situe au croisement des mathématiques et de l’informatique. L’objectif principal est d’apprendre à formuler des questions de manière à ce que le calcul informatique puisse fournir des réponses (exactes ou approchées) satisfaisantes.
Ce cursus de trois ans fournit une base de connaissances et de compétences pratiques en analyse de données et en calcul scientifique, en utilisant principalement Python et les Notebook Jupyter. On y apprend à manipuler, analyser et visualiser les données, ainsi qu’à résoudre des problèmes scientifiques et mathématiques complexes en utilisant les outils et bibliothèques appropriés:
- DSSC-1 Introduction à la programmation scientifique avec Python: apprentissage des bases de la programmation en Python, notamment les structures de contrôle, les fonctions et les types de données, ainsi que l’utilisation de Matplotlib pour créer des visualisations.
- DSSC-2 Approximations et simulations: étude des bases de l’analyse numérique, avec des comparaisons aux résultats issus de la bibliothèque SciPy, pour résoudre des problèmes scientifiques et d’ingénierie: interpolations, intégrations numériques, zéros d’une fonction. On apprendra également à utiliser des Notebook Jupyter pour expliquer et documenter les calculs.
- DSSC-3 Calcul formel avec SymPy: familiarisation avec SymPy pour réaliser des calculs mathématiques symboliques comme la manipulation d’expressions et la résolution d’équations et sytèmes. Application en analyse mathématique (calcul de limites, dérivées, intégrales symboliques dans \(\mathbb{R}^n\)) et en algèbre linéaire (applications linéaires, noyeaux, etc.). On apprendra également à rédiger des rapports en LaTeX.
- DSSC-4 Manipulation avancée des tableaux avec NumPy: approfondissement des connaissances sur le calcul matriciel avec NumPy pour des calculs performants.
- DSSC-5 Manipulation de données avec Pandas : une initiation: utilisation de Pandas pour manipuler efficacement les jeux de données, incluant l’importation, le nettoyage, la transformation, le filtrage, l’agrégation et la gestion des valeurs manquantes.
- DSSC-6 Approximations d’équations différentielles: étude des schémas numériques pour l’approximation de problèmes de Cauchy.
2 Déroulement du cours DSSC-5 : Introduction à la manipulation de données avec Pandas
Ce polycopié est associé au cinquième cours, initiant à l’utilisation de la librairie Pandas. Les objectifs de ce cours sont les suivants:
- Comprendre les notions de base de Pandas et de la manipulation de données;
- Importer et exporter des données;
- Manipuler des données : filtrer, trier, grouper, agréger, fusionner, joindre, concaténer, etc.;
- Visualiser des données.
2.1 Plan des séances
Le cours se déroule en 5 séances de 3 heures dans le bâtiment U1 :
- Introduction à Pandas : Objets Series et DataFrame, visualisations avec Matplotlib, Seaborn et Plotly.
- Manipulation des données : filtrage, tri, groupement, fusions, concaténations.
- Étude de cas : Titanic dataset.
- Étude de cas : Élections présidentielles américaines 2016.
- Contrôle continu : Présentation d’une analyse de données.
Tous les supports de cours sont fournis sous forme de notebooks Jupyter et téléchargeables depuis la page en annexe (menu a gauche ci-contre).
Pour plus d’informations sur Pandas, vous pouvez également consulter ce livre (un peu daté) : Python Data Science Handbook.
2.2 Prérequis
- Bases de Python (structures de données, conditions, boucles, fonctions, modules, Matplotlib), cf. DSSC-1;
- Manipulation de Notebook Jupyter, cf. DSSC-2;
- Connaissances de base de NumPy, cf. DSSC-4.
Dans les salles de TP, Python 3.12 est installé. Pour manipuler les notebooks Jupyter, on pourra de plus utiliser l’éditeur VS Codium (au lieu de Jupyter Notebook dans le navigateur).
Sur vos ordinateurs personnels, vous pouvez installer Visual Studio Code et bien sûr une distribution Python.
Si vous ne pouvez pas installer une distribution Python sur votre ordinateur, vous pouvez utiliser Google Colab. Dans ce cas, charger un fichier csv nécessite une étape supplémentaire. Le plus simple est de télécharger directement le fichier dans le notebook en exécutant le code suivant. On vous demandera de sélectionner un fichier. Cliquez sur «Choisir les fichiers» puis sélectionnez et téléchargez le fichier csv de votre choix. Vous devriez voir le nom du fichier affiché une fois que Colab l’aura téléchargé.
2.3 Évaluation
La dernière séance sera consacrée au contrôle continu, structuré comme suit :
- Dépôt des fichiers sur Moodle
- Votre fichier notebook
.ipynb
contenant l’analyse.
- Le fichier
.csv
de données associé (taille maximale : 10 Mo).
- Votre fichier notebook
- Présentation orale
- 10 minutes pendant lesquelles vous présenterez votre analyse de données en suivant une démarche structurée et en utilisant les outils vus en cours.
- Utilisez uniquement les modules étudiés en cours pour assurer la compatibilité de votre notebook.
- 10 minutes pendant lesquelles vous présenterez votre analyse de données en suivant une démarche structurée et en utilisant les outils vus en cours.
- Critères d’évaluation
- Qualité de l’analyse des données : pertinence des colonnes sélectionnées, qualité des visualisations, cohérence de la démarche.
- Qualité du notebook : code bien structuré et lisible, explications claires et succintes dans des cellules Markdown.
- Respect de la durée impartie
- Qualité de la présentation orale : discours clair et fluide, non basé sur la simple lecture du notebook (vous devez racontez une histoire).
- Capacité à expliquer et modifier le code présenté : maîtrise totale des instructions. Vous devrez être capable d’apporter des ajustements ou répondre aux questions techniques posées pendant l’exposé.
- NB Il existe de nombreux notebooks similaires en ligne, mais évitez de copier-coller des codes sans les comprendre. Vous devez être capable de justifier chaque choix et de modifier chaque ligne de code si nécessaire.