Site de Bertrand LIAUDET

ESLSCA-5-2024-2025 - S1 - Python et Analyse de données

15 novembre 2024, par Bertrand LIAUDET


Objectifs du cours :

  • Python pour l’analyse de données.
  • Plan de cours : 6 séances de 3,5 heures

  • A définir en fonction du contexte.


  • Suivi du cours 2024-2025 - 1er semestre

    J-1 Samedi 16/11 : Introduction et bases du langage Python

  • Accueil : les élèves, le background
  • Référence du cours : Le Python -> ici
  • Installer les outils : Python.exe, VS Code, pour commencer.
  • Sharemycode pour partager le code et l’écriture au "tableau".
  • Premiers codes.
  • Exercices de TD, niveau 1 -> ici
  • Exercices de TD, niveau 2 -> ici

  • Documents et codes du jour (quand le cours est fini !) -> ici
  • A faire pour la prochaine fois :

  • Chargez le dossier du cours et des exemples du cours -> ici
  • Finissez l’installation de Visual Studio Code
  • Regardez le fichier de raccourcis clavier pour VS-Code -> ici
  • Chargez le dossier du cours dans Visual Studio Code
  • Lire le cours : cours-1.txt. Vérifiez que vous comprenez tout !
  • Regardez la structure du cours en utilisant le raccourcis clavier : ctrl a puis ctrl k 0
  • Lire le code : test1.py Vérifiez que vous comprenez tout !
  • Testez ce code.


  • J-2 Samedi 23/11 :Première partie du cours : le python pour l’analyse de données

  • Méthode de travail : créer un dossier J2 correspondant à la journée 2 de cours. Ouvrez ce dossier avec VS Code. Mettez dans ce dossier les 2 fichiers présentés ci-dessous.
  • On suit le document ici qui présente le cours, des exemples et des TP régulièrement : pour avancer, il faut faire les exercices -> ici
  • Le dernier exercice utilise ce fichier CSV -> ici

  • Documents et codes du jour (quand le cours est fini !) -> ici
  • A faire pour la prochaine fois :

  • Finir l’exercice bissextile
  • Relire tous les codes livrés
  • Refaire tous les exercices du cours jusqu’à bissextile
  • Se familiariser avec VS Code et avec le Python
  • Se familiariser avec la méthode du prof
  • Vous pouvez lire la fin du cours sur les bases de Python : boucle while. Et faire les exercices.


  • J-3 Samedi 30/11 :Première partie du cours : le python pour l’analyse de données

  • On termine le python de base : il reste la série 3 à faire ou à finir. On part de la livraison de la semaine dernière.
  • On commence le python de base pour les données
  • On suit le document ici qui présente le cours, des exemples et des TP régulièrement : pour avancer, il faut faire les exercices -> ici
  • Le dernier exercice utilise ce fichier CSV -> ici

  • Documents et codes du jour (quand le cours est fini !) -> ici
  • A faire pour la prochaine fois :

  • Relire le cours complet : Cours 1 - python de base
  • Relire tous les codes livrés du Cours 1
  • Finir l’exercice bissextile : menu etape 5 : ajoutez le code pour gérer le choix bissextile et le code pour gérer le choix équation du premier degré.
  • La structure du code est proposé dans :
  • "menu_etape_5_bissextile_MVC_complet_debut_solution.py".
  • -> vous pouvez vous en inspirer.
  • Relire le paragraphe " Exemples série 11 : liste, append, pop, for, range, import, random, randint, choice" du Cours 2 - Données de base
  • Relire tous les codes livrés du Cours 2
  • Faire l’exercice de la série 11 : serie11-2-avec-fonction.py


  • J-4 Samedi 7/12 :Suite du cours : le python pour l’analyse de données

    Point d’avancement et choix pour la suite : on choisit les bases Python. On commencera Numpy la semaine prochaine.

  • Bases Python : on part de la livraison du cours précédent
  • On peut présenter le corrigé de la dernière fois
  • On peut continuer directement sur la partie 2 : analyse de données
  • Suite du cours : Data sciences, Numpy, Matplotlib, Pandas :
  • On peut faire présenter le cours et les exercices Data sciences et Numpy
  • Introduction à la data-sciences. Numpy. Matplotlib. Le cours en pdf -> ici Les zip complet avec le cours et les exemples jupyter -> ici

  • Documents et codes du jour (quand le cours est fini !) -> ici
  • A faire pour la prochaine fois :

  • Relire le cours complet : Cours 1 - python de base et Cours 2 - Analyse de données
  • Relire les codes livrés. Particulièrement :
  • Python de base : série3/menu_etape_5_bissextile_MVC_complet.py
  • Python de base : la série 4. C’est une architecture MVC finalisée avec importation de fichier. Il vaut mieux démarrer le programme à partir du dossier racine : ici menu_mvc.
  • Tout le dossier "Donnees_de_base"
  • Faire les exercices des séries 16 et 17


  • J-5 Samedi 14/12 :Analyse de données : data sciences, Numpy et Jupiter

  • 1) On commence par charger les docs et codes du jour 4 :
  • cmd A
  • cmd k 0
  • on ouvre le cours 2
  • on ouvre les exercices série 16 et série 17
  • On charge et on regarde les corrigés des exercices des séries 16 et 17. -> ici
  • on regarde les codes : c’est bien structuré
  • Bilan :
  • C’est déjà de l’analyse de donnée
  • C’est lourd pour l’affichage !
  • C’est potentiellement lourd pour le calcul
  • On regarde le CSV de Titanic : si on doit faire pareil avec ce fichier ça va être galère !
  • Conclusion : on va numpy, matplotlib, pandas !
  • 2) intro datasciences
  • Introduction à la data-sciences. Numpy. Matplotlib. Le cours en pdf -> ici Les zip compplet avec le cours et les exemples jupyter -> ici
  • Jupyter : installer et charger des exemples du cours
  • Mise en bouche : exemples Matplotlib
  • Vitesse de calcul
  • Matplotlib
  • 3) numpy : généralités
  • Principes :
  • ndarray
  • Fin du cours avant la première série d’exercices
  • vectorisation -> programmation fonctionnelle (manipuler des listes en cachant les boucles).
  • indexation avancée
  • broadcasting
  • ndarray : cours
  • ndarray : exercices
  • Vectorisation : cours
  • statistique sur matrice
  • 4) matplotlib :
  • théorie dans le cours numpy essentiellement et exemples : -> ici
  • les exos 1, 2, 3, 4 : -> ici
  • faire 1, 2, 4 : on montrera la solution dynamique du 3
  • Relire les codes livrés. Relire le cours jusqu’à la première série d’exercices "tableau numpy".
  • Installer Jupyter et ouvrez les notebook de cours jupyter. Vous pouvez aussi ouvrir les html correspondants.
  • Faire la première série d’exercices "tableaux numpy
  • Option : lire la suite du cours sur les ndarray et faire les exercices.


  • J-6 Samedi 21/12 :Analyse de données : data sciences, on finit le cours Numpy, Matplotlib. On présente le cours Pandas. Exercices associés.

  • Le détail du cours sera présenté le 21/12
  • Cours Pandas :
  • Introduction à Pandas : analyse d’une "table excel" avec Python-Pandans. Le cours en pdf -> ici et cours sur Jupyter sur les bases -> ici
  • SQL avec Pandas. Le cours en pdf -> ici
  • Gestion des dates avec Pandas. Le cours en pdf -> ici
  • Les zip complet avec le cours et les exemples Numpy et Pandas sous jupyter et en HTML -> ici
  • TP Pandas : outils et méthode -> ici

  • Documents et codes du jour (quand le cours est fini !) -> ici


  • Bonus :

  • Analyse de données automatique : histogramme pour chaque colonne, à la fois numériques et catégorielles : -> ici
  • Scikit Learn : le cours à suivre de toute urgence : -> ici : inscrivez-vous !
  • Tout est accessible, officiellement, sur le WEB ! Le cours, en HTML, les vidéos, sous-titrées, et les données sur Gihub : à consommer sans modération ! Bon travail à tous ! Et grand merci à l’INRIA
  • HTML -> ici
  • GitHub -> ici
  • Vidéos -> ici
  • Python : le cours à suivre de toute urgence : -> ici : inscrivez-vous !



  • Références :

  • Référence du cours Python -> ici
  • Introduction à la data-sciences. Numpy. Matplotlib. Le cours en pdf -> ici Les zip complet avec le cours et les exemples jupyter -> ici
  • Cours Pandas :
  • Introduction à Pandas : analyse d’une "table excel" avec Python-Pandans. Le cours en pdf -> ici et cours sur Jupyter sur les bases -> ici
  • SQL avec Pandas. Le cours en pdf -> ici
  • Gestion des dates avec Pandas. Le cours en pdf -> ici
  • Les zip complet avec le cours et les exemples Numpy et Pandas sous jupyter et en HTML -> ici
  • Raccourcis clavier pour VS-Code -> ici