Aperçu du cours
Objectif de formation : Cette formation permet aux participants de découvrir les éléments avancés du langage Python dans un contexte scientifique.
Programme d'études
Python avancé
Rappels concepts fondamentaux Python
Bonnes pratiques / Design de code
Fonctionnalités avancées de Python
Évaluation de performances
Limite des performances du langage Python natif
Manipulation de tableaux et opérations mathématiques avec NumPy
Structure de donnée : les numpy array
Création de tableau
Accès aux éléments du tableau : indexation simple, slicing & striding, indexation avancée
Opérations sur les tableaux : opérations basiques, broadcasting, méthodes spécifiques, travailler à partir de formules mathématiques
Entrées/sorties avec Numpy
Explication de l’optimisation des opérations sur les tableaux avec Numpy : vectorisation, Allocation mémoire, binding C++, compilation sur architecture dédiée, optimisation des ressources du processeur
Bannir les boucles for
Comparaison de performances avec Python natif
Profilage / Timing
Calcul scientifique avec SciPy
Présentation générale de librairie
Présentation de quelques exemples : fit de courbe, algèbre linéaire, fourrier, traitement du signal…
Exploration et analyse de données avec Pandas
Structure de données : DataFrame, série
Fonctionnalités essentielles : attributs, statistiques descriptives, type de données…
Indexation et sélection de données : Basique, accès par attribut, slicing, sélection par label, par position, par fonction callable, méthodes de sélection, sélection par masque
Opérations mathématiques sur les DataFrames : opérations accélérées sur les données, application de fonction mathématiques
Opérations sur les DataFrames : concaténation, fusion, regroupement
Travailler avec des données textuelles
Travailler avec des données manquantes
Travailler avec des Série temporelles
Outils d’entrée/sortie
Accélération de code Python
Présentation générale et rapide des outils existant pour accélérer les codes Python
Passage à l’échelle et parallélisme avec Dask