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 - Generators
Les générateurs
yield
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