L’environnement

Python est un langage clair, intuitif, massivement répandu, et devenu incontournable dans le traitement d’une multitude de tâches informatiques.

Objectifs pédagogiques

À l’issue de la formation, le ou la stagiaire sera capable de :

  • Créer et paramétrer son environnement de travail Python Data Science
  • Utiliser efficacement les librairies Python de Data Science
  • Analyser ses données avec NumPy et pandas
  • Visualiser ses données avec Matplotlib, pandas, seaborn et Plotly

Public concerné

Technicien·ne·s, ingénieur·e·s, développeur·se·s, scientifiques, enseignant·e·s ou tout public souhaitant découvrir la Data Science avec Python.

Prérequis

Connaître les bases du langage de programmation Python ou avoir suivi la formation « Python débutant ». Un questionnaire de pré-formation est proposé pour valider l’adéquation entre le besoin et la formation.

Programme de la formation

L’écosystème Python pour la science des données

  • Tour d’horizon de packages Python de Data Science
  • Installation dans un environnement virtuel des librairies scientifiques
  • Les environnements de développement

La bibliothèque NumPy

  • Intérêts de travailler avec les tableaux
  • Création de tableaux et de matrices
  • Initialisation avec des données aléatoires
  • Les types de données et changer le type de données
  • Les attributs ndim, shape, size, dtype, itemsize, bytes
  • Manipulation de tableaux : indexation, slicing, indexation avancée
  • Broadcasting pour l’indexation et les opérations sur les données
  • Copie et vue d’un tableau
  • Changer les dimensions d’un tableau et le transposer
  • Concaténer et découper des tableaux
  • Pourquoi éviter les boucles for ?
  • Fonctions classiques (addition, soustraction…), fonctions trigonométriques, exposants et logarithmes, fonctions statistiques…
  • Apprendre à utiliser l’option axis
  • Fonctions de comparaisons
  • Extraire des informations avec des masques booléens
  • Charger et sauvegarder les tableaux

La bibliothèque pandas

  • Créer une série avec la classe Series
  • Créer un tableau 2D (DataFrame) avec la classe DataFrame
  • Extraire les indices de ligne et de colonnes
  • Lire et exporter des données dans différents formats (csv, excel…)
  • Indexation, slicing et sélection avancée implicite et explicite
  • Sélectionner des données avec des masques
  • Insérer, modifier et concaténer des données
  • Copier des données : copie superficielle ou profonde
  • Traiter les données manquantes
  • Transposer des données
  • Fusion et jointure de données
  • Mettre une colonne en indice
  • Trier les indices et les valeurs
  • Supprimer des données
  • Agréger des données
  • Grouper et analyser des données avec la fonction groupby()
  • Analyser les données avec les fonctions aggregate(), filter(), apply() et transform()
  • Créer des tableaux croisés dynamiques
  • Segmenter les données avec les fonctions qcut() et cut()
  • Calculer des moyennes glissantes
  • Multi-indices :
    – Créer des multi-indices
    – Ajouter des dimensions aux Series et DataFrames avec l’objet MultiIndex
    – Indexer les Series et DataFrames multi-indexés
  • Chaînes de caractères :
    – Indexation et slicing
    – Traiter les données avec les méthodes de chaînes de caractères implémentées dans pandas
    – Utiliser des expressions régulières avec pandas
  • Les données temporelles :
    – Créer des dates, des durées et des périodes
    – Indexation et slicing des données temporelles
    – Échantillonnage avec les fonctions asfreq() et resample()

La bibliothèque Matplotlib

  • Afficher les graphiques depuis un script Python ou un notebook
  • Afficher les graphiques en utilisant le style MATLAB ou le style orienté objet
  • Modifier le style du graphique
  • Les objets Figure et Axes
  • Tracer des courbes avec la méthode plot() :
    – Modifier la couleur, le style du tracé et la largeur du tracé
    – Ajuster la longueur des axes, les nommer et changer les graduations
    – Ajouter un titre et une légende
  • Afficher des nuages de points
  • Afficher des barres d’erreurs
  • Remplir la surface entre 2 lignes avec la méthode fill_between()
  • Tracer un histogramme
  • Tracer plusieurs graphiques :
    – Placer un graphique à l’intérieur d’un autre
    – Créer une grille avec la fonction subplots()
  • Tracer des graphiques en 3 dimensions
  • Interagir avec les graphiques dans le Jupyter notebook avec le widget interact
  • Utiliser pandas plot pour réaliser rapidement des tracés depuis un objet Series ou DataFrame : tour d’horizon des méthodes plot(), bar(), barh(), hist(), box(), scatter(), pie()

La bibliothèque seaborn

  • Fonctionnement de l’API seaborn : Figure-level et Axes-level
  • Les « relational plots »
  • Tracer des distributions
  • Tracer des données qualitatives (categorical data)
  • Tracer des cartes thermiques
  • Tracer des modèles de régression linéaire
  • Changer le rendu de la figure :
    – Ajouter un titre
    – Changer les couleurs
    – Les fonctions set_theme(), set_style(), set_context() et despine()

La bibliothèque Plotly

  • Présentation de la librairie Plotly et de Kaleido
  • Exploration de plotly.express
  • Tracer des courbes avec la fonction line() et explorer les options pour :
    – Modifier la figure
    – Tracer plusieurs courbes
    – Ajouter des informations
    – Tracer plusieurs graphiques
    – Ajouter des barres d’erreurs
    – Modifier le style de la figure
  • Changer le thème des figures par défaut
  • Sauvegarder la figure
  • Tracer des graphiques en aires :
    – Ajouter des motifs avec l’option pattern_shape
  • Afficher des nuages de points et explorer les options pour :
    – Définir la taille des points
    – Générer de la transparence
    – Ajouter des symboles
    – Modifier la barre de couleur la méthode
  • Modifier la position de la légende et de la barre de couleurs
  • Réaliser des graphiques en 3D avec scatter_3d() et line_3d()
  • Tracer des diagrammes en barres
  • Tracer des histogrammes
  • Tracer des cartes :
    – Les fonctions line_map() et scatter_map() avec les options zoom et center
    – Les fonctions line_geo() et scatter_geo() avec les options scope et projection
    – La fonction choropleth()