Table des matières¶

0 Introduction¶

  • Introduction
  • Jupyter

1 Python basics¶

  • 00 - Premiers calculs
  • 01 - Les variables
  • 02 - Les types - Conversion d'un type vers un autre
    • Les chaînes de caractères
    • Les listes
    • Les dictionnaires
    • Les n-uplets (tuples in english)
  • 03 - Tests et boucles
    • Logique booléenne - Tests
    • Les boucles - Boucles avec for - Liste en compréhension - Boucle avec while - Break et Continue
  • 04 - Les fonctions
    • Signature d'une fonction
    • Valeurs par défaut
    • Fonctions récursives - Exercice
  • 05 - Erreurs et exceptions
    • Gérer les erreurs
    • raise Exception
    • try ... except - Pourquoi try et pas if ?
    • Différentes exceptions
    • Finalement
    • What else?
    • Plus loin
  • 06 - Premiers programmes
    • Un programme, kesako ? - Coding style
    • Premier programme (notes d'élèves)
    • Deuxième programme (manipulation de données dans un fichier) - Écriture dans un fichier - Exercice
    • Bug !
  • 07 - Algorithmique et tris
    • L'art de l'algorithmique
    • Comment trier efficacement ? - Exercice : Tri à bulle - Exercice : Tri rapide (Quicksort in English)

2 Deeper in Python¶

  • 01 - Variables en mémoire
    • Copie par valeur ou par référence
    • Pointeurs et références
    • Solutions pour modifier une liste
  • 02 - La porté des variables
    • Jusqu'où ma variable est visible ?
    • nonlocal
    • global
  • 03 - Formatting
  • 04 - Generators
    • Un for dynamique
    • yield pour les cas complexes
  • 10 sys - under the hood
    • Utilisation de la bibliothèque sys - Décrire mon environnement - Informations sur le stockage des données - Autres fonctions
  • 11 datetime
  • 12 xml
  • 90 Project
    • Un projet Python
      • Module
      • Packet
      • Organiser son projet
      • Structure pour un paquet
      • Poetry
      • Gestion des envionnements
      • Création d'un paquet
  • 91 Tests
    • Tests
      • Assert
        • Tests unitaires
      • Doctest
      • PyTest
        • Tests de haut niveau
        • Tester différentes configurations
      • Nox + Poetry
      • et avec doctest
  • 92 Documentation
    • La documentation d'un projet
      • Mise en forme
        • API
      • Sphinx pour l'API

3 Object Python¶

  • 01 Classes and objects
    • Objets
  • 02 Inheritance - Appel direct d'une méthode d'une classe parente
  • 03 Scope
  • 04 View vs Copy
  • 10 Magic methods - Une liste de méthodes magiques importantes
  • 11 Decorators
    • Créer son décorateur

4 Numpy¶

  • np01 Numpy Introduction
  • np02 Filtres
  • np03 Manipulations
  • np04 Xarray
    • Étiqueter les dimensions
      • Réordonner
      • Concaténer
      • Empiler des DataArray donne un DataSet
    • Ajout de coordonnées
      • Interpolation suivant les coordonnées
    • Plus
  • np05 Notation Einstein
  • np06 Linalg pour le calcul matriciel
  • np90 petits exercices
  • np91 exercice -- Manipulation d_images
    • Créer la table des images
    • Réorganiser la table
    • Passer en niveaux de gris
    • Ordonner par contraste

5 Pandas¶

  • pd01 -- Pandas indexing
    • Structure du DataFrame
    • Sélectionner une partie du tableau
      • Le piège de l'indexation (loc et iloc)
      • Optimisation (at & iat)
      • Les filtres logiques
      • Query
    • Agir globalement
    • Plus
  • pd02 -- View vs copy
  • pd03 -- Cleaning a dataframe
  • pd04 Multi-index or N-dimensions DataFrames
  • pd05 -- Group data
    • Grouper des données suivant une colonne - Structure d'un groupe
    • Grouper suivant plusieurs colonnes
    • Grouper suivant un sous-index
    • Appliquer différentes opérations
    • Grouper tout en conservant la structure initiale
  • pd06 -- Merging 2 dataframes
    • Merge - df1 ∩ df2 sur les lignes - df1 + (df1 ∩ df2) - A ∪ B
    • Join
    • Concaténation - Jouons avec les axes
  • pd07 -- Time dataframe
    • Manipulation
  • pd08 -- Visualizing a DataFrame
  • pd09 -- Computation
  • pd10 -- Getting data
    • CSV
    • Excel
    • read_html
    • Pandas datareader
  • pd90 exercice -- Maires de France
  • pd91 exercice -- Euronext 2018
    • Création de notre super DataFrame
    • Extraction de l'action AXA
    • Un gros calcul
    • Fusion de données

6 Graphics¶

  • 10 -- Static graphics with Matplotlib
    • Un tutorial plus approfondi
  • 11 -- Static graphics with Seaborn
    • Présentation des données - Une simple courbe - Distribution des données - Corrélation globale de N champs 2 à 2 - Afficher les valeurs de différentes catégories - Courbe de niveaux
    • Statistiques - Moyenne et quartiles
    • Plus
  • 20 -- Dynamic graphics with Plotly -- Basics
    • Figures interactives
    • Plotly Express - Plotly avec Pandas - Courbes - Barres et histogrammes - Boîtes à moustaches
    • Plotly - Camember
  • 21 -- Dynamic graphics with Plotly -- Scatter and bubbles
    • Nuages de points - Un nuage de point basique - Des bulles pour une dimension de plus - Une animation avec tout inclus !
  • 22 -- Dynamic graphics with Plotly -- More chart types
    • Graphiques scientifiques
    • Graphiques statistiques
    • Graphiques financiers
    • Divers
  • 23 -- Dynamic graphics with Plotly -- Subplots
    • Plusieurs dessins dans une même figure
    • Plotly Express - Pour de simples courbes - Notes en marge
    • Plotly - Des figures rangées dans une grille - Un placement libre de chaque sous-figure
  • 24 -- Dynamic graphics with Plotly -- 3D
    • Surface - Définir la scène
    • Maillage surfacique en 3D
    • Nuage de points et caméra
    • Plus
  • 30 -- Maps
    • Un peu de cartographie - Les données : le prix de l'essence
    • Folium
    • Objets géographiques - Plotly
  • 40 -- A dashboard with Dash -- Layout
    • Dash -- Layout
      • Installation de Dash sur sa machine
      • Premier tableau de bord
      • Plus d'information sur la partie HTML
  • 41 -- A dashboard with Dash -- Events
    • Les événements dans Dash
      • Hello World!
      • Interaction clavier
      • C'est tout !
      • Attention aux variables globales
        • Un exemple plus complet