M55 - Data Science & Scientific Computing 5
  1. Syllabus
  • M55 - Data Science and Scientific Computing 5

  • Syllabus

  •   Cours
    • Introduction
    • Series
    • Data Frames
    • Une analyse complète : le Titanic

  •   Exercices
    • Premières manipulations
    • Notes L3 Math
    • Population France
    • Netflix User
    • Presidentielles USA 2016

  •   Fichiers sources

Contenu de la page

  • 1 Parcours “Data Science and Scientific Computing”
  • 2 Déroulement du cours DSSC-5 : Introduction à la manipulation de données avec Pandas
    • 2.1 Plan des séances
    • 2.2 Prérequis
    • 2.3 Évaluation
    • 2.4 Ressources pour trouver des jeux de données

Syllabus du cours “Introduction à la manipulation de données avec Pandas”

Auteur·rice

Gloria FACCANONI

Date de publication

6 décembre 2024

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 :

  1. Introduction à Pandas : Objets Series et DataFrame, visualisations avec Matplotlib, Seaborn et Plotly.
  2. Manipulation des données : filtrage, tri, groupement, fusions, concaténations.
  3. Étude de cas : Titanic dataset.
  4. Étude de cas : Élections présidentielles américaines 2016.
  5. 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é.

from google.colab import files
uploaded = files.upload()

2.3 Évaluation

La dernière séance sera consacrée au contrôle continu, structuré comme suit :

  1. 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).
  2. 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.
  3. 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é.
  4. 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.

2.4 Ressources pour trouver des jeux de données

  • UCI Machine Learning Repository
  • Kaggle
  • Google Dataset Search
  • Data.gov
  • Open Data EU
  • Data World
  • Football CSV
Retour au sommet
Code source
---
title: Syllabus du cours "Introduction à la manipulation de données avec Pandas"
---


## 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**](https://moodle.univ-tln.fr/course/view.php?id=4968) *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**](https://moodle.univ-tln.fr/course/view.php?id=4671) *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**](https://moodle.univ-tln.fr/course/view.php?id=8894) *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**](https://moodle.univ-tln.fr/course/view.php?id=6844) *Manipulation avancée des tableaux avec NumPy*: approfondissement des connaissances sur le calcul matriciel avec NumPy pour des calculs performants.
- [**DSSC-5**](https://moodle.univ-tln.fr/course/view.php?id=8889) *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**](https://moodle.univ-tln.fr/course/view.php?id=4840) *Approximations d'équations différentielles*: étude des schémas numériques pour l'approximation de problèmes de Cauchy.




## 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.


### Plan des séances
Le cours se déroule en **5 séances de 3 heures** dans le bâtiment U1 :

1. **Introduction à Pandas** : Objets Series et DataFrame, visualisations avec Matplotlib, Seaborn et Plotly.
2. **Manipulation des données** : filtrage, tri, groupement, fusions, concaténations.
3. **Étude de cas : Titanic dataset.**
4. **Étude de cas : Élections présidentielles américaines 2016.**
5. **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](https://jakevdp.github.io/PythonDataScienceHandbook/index.html).



### Prérequis

- Bases de Python (structures de données, conditions, boucles, fonctions, modules, Matplotlib), cf. [**DSSC-1**](https://moodle.univ-tln.fr/course/view.php?id=4968);
- Manipulation de Notebook Jupyter, cf. [**DSSC-2**](https://moodle.univ-tln.fr/course/view.php?id=4671);
- Connaissances de base de NumPy, cf. [**DSSC-4**](https://moodle.univ-tln.fr/course/view.php?id=6844).

Dans les salles de TP, Python 3.12 est installé. Pour manipuler les notebooks Jupyter, on pourra de plus utiliser l'éditeur [VS Codium](https://vscodium.com/) (au lieu de Jupyter Notebook dans le navigateur).

Sur vos ordinateurs personnels, vous pouvez installer [Visual Studio Code](https://code.visualstudio.com/) et bien sûr une distribution Python. 
 
Si vous ne pouvez pas installer une distribution Python sur votre ordinateur, vous pouvez utiliser [Google Colab](https://colab.research.google.com/notebooks/intro.ipynb). 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é.
```python
from google.colab import files
uploaded = files.upload()
```

### Évaluation

La dernière séance sera consacrée au **contrôle continu**, structuré comme suit :

1. **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**).  
      
2. **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.
      
3. **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é.  

4. **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.**  


### Ressources pour trouver des jeux de données

- [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/index.php)
- [Kaggle](https://www.kaggle.com/datasets)
- [Google Dataset Search](https://datasetsearch.research.google.com/)
- [Data.gov](https://www.data.gov/)
- [Open Data EU](https://data.europa.eu/euodp/en/data/)
- [Data World](https://data.world/)
- [Football CSV](https://footballcsv.github.io/)

© Copyright 2024, Gloria Faccanoni

 

This page is built with ❤️ and Quarto.