Phare Phirio  : apprendre à apprendre

Pharepuzzle Phirio

PhareDataCenter Phirio

PhareSerious Games

PrecedentSuivant
  • Formations
    • Catalogue
    • Cloud
    • Big Data
    • Applicatif
    • DataScience
    • Infrastructures
    • Accompagnement
    • Sur mesure
  • Cheat sheets & labs
    • Présentation des technologies
    • Le Laboratoire
    • Blockchain
    • Big Data
    • Liens utiles
  • Informations pratiques
    • Phirio Team
    • Prestations
    • Qualité
    • Centre de formation
    • Nos références
  • Contact
    • Plan d'accès
    • Contact post-formation
    • Recrutement
    • Demande d'informations
  1. Vous êtes ici : Accueil
  2. Formations
  3. Catalogue
  4. Langages
  5. Python
  6. LY002

Formation : Python avancé : programmation scientifique

Durée de la formation

4 jours

Code cours

LY002

Prix de la formation

Nous consulter

Sessions programmées

S'inscrire

Public :

Développeurs en programmation scientifique.

Objectifs :

Maitriser les bibliothèques de programmation scientifique en Python
Explorer et analyser des donnéesProgrammer des algorithmes et calculer de manière efficace en Python

Prérequis :

Avoir suivi la formation "Python Initiation" ou avoir un niveau équivalent et avoir une pratique régulière du langage Python

  • Pour tester vos connaissances actuelles sur le sujet : Validation des pré-requis
  • Pour nous préciser vos attentes : Validation des attentes

Programme détaillé de la formation

Python avancé

Rappels concepts fondamentaux Python (architecture objet du langage, type de données, structure de données)
Bonnes pratiques / Design de code : PEP8, structuration script et modules, POO, notion de packaging
Atelier : Ecriture d'un code de base et transformation en paquet.


Mise en oeuvre de __init__, PYTHONPATH, site-packages, pyvenv, .pyc, ...
Fonctionnalités avancées de Python : gestionnaire de contexte, liste par compréhension, itérateur, générateur
Atelier : Rappels sur les types d'écritures en python : transformation d'un for en compréhension, utilisation des générateurs, suppression des for, ...


Evaluation de performances : outil de profilage (timing et mémoire)
Atelier : présentation de quelques outils : timeit, profiler, memory_profiler,


module pstats,
Limite des performances du langage Python natif
Atelier : analyse de performances avec le mode profiling de pycharm


Manipulation de tableaux et opérations mathématiques avec NumPy

Manipulation de tableaux et opérations mathématiques avec NumPy.
Structure de donnée : les numpy array (différences avec les listes python, définition, type de données, allocation mémoire, shape, reshape)
Création de tableau (random, à partir de données existantes, ...)
Accès aux éléments du tableau :indexation simple, slicing et striding, indexation avancée (par tableaux d'entiers ou de booléens)
Opérations sur les tableaux : opérations basiques, broadcasting, méthodes spécifiques (min, max, mean, std...), 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 (CPU/SIMD optimisation)
Bannir les boucles for
Atelier : comparaison de performances avec Python natif sur la manipulation/calculs de gros tableaux


Profilage/timing
Atelier : analyse de l'empreinte mémoire avec cProfile, line_profiler, memory_profiler, scalene


Calcul scientifique avec SciPy

Présentation générale de librairie : integrate, linalg, fftpack, signal, ndimage, odr, optimize, spatial
Quelques exemples : Fit de courbe, Algèbre linéaire, Fourrier, Traitement du signal
Atelier : matrices. Calcul de valeurs propres. Calcul de la matrice de passage.

Atelier : mise en oeuvre d'un système Lotka-Volterra avec matplotlib

Atelier : mise en oeuvre d'un système de pendule. Exploitation des fonctions d'intégration.


Exploration et analyse de données avec Pandas

Structure de données : DataFrame, Serie
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 (isin, where), sélection par masque
Atelier : analyse de fichiers de températures mondiales : extraction des données, découpage, structuration.


Opérations mathématiques sur les DataFrames : concaténation, fusion, regroupement
Travailler avec des données textuelles : gestion de chaînes, encodage, gestion des accents, caractères diacritiques
Travailler avec des données manquantes : stratégie de remplissage, interpolations.
Atelier : nettoyage, préparation et regroupement des données précédentes. Mise en oeuvre des bfill, ffill, ... Gestion des nan.


Travailler avec des séries temporelles : les timestamps, calculs, gestion (origines, échelles, water-marking)
Atelier : gestion d'une fenêtre temorelle distante sur les données précédentes : calculs de moyenne, écart-type, min et max.


Outils d'entrée/sortie (csv, HDF5, netCDF4, zarr, ...)
Atelier : jointures multiples avec enrichissement, de fichiers csv vers un fichier HDF5


Accélération de code Python

Présentation générale et rapide des outils existants pour accélérer les codes Python (Numba, Cython, Pythran)
Présentation de pyarrow pour le passage à l'échelle.
Passage à l'échelle et parallélisme avec Dask
Atelier : Réalisation d'un enrichisseur de données sur Dask entre fichiers parquets sur S3




Déroulé pédagogique
Modalités et délais d'accès
Méthodes mobilisées et modalités d'évaluation

Phirio

+33 1 55 33 52 10
info@phirio.fr
Calendrier
Code cours : LY002

Contenu de la formation
Python avancé : programmation scientifique:
  • Python avancé
  • Manipulation de tableaux et opérations mathématiques avec NumPy
  • Calcul scientifique avec SciPy
  • Exploration et analyse de données avec Pandas
  • Accélération de code Python

Accès à la liste des cours



Vous pouvez bien entendu composer votre programme personnel à partir de nos descriptifs de cours

Note de satisfaction des participants à la formation Python avancé : programmation scientifique

4.5/5



Taux d'atteinte des objectifs à la formation Python avancé : programmation scientifique

94.6%



Taux de réalisation des exercices à la formation Python avancé : programmation scientifique

94.6%




Version du document : Ra22
Date de mise à jour du document : 2024/11/22


quelques une de nos réalisations
  • Recrutement
  • Data Dock Data Dock
  • Qualiopi
    Qualiopi
    La certification qualité a été délivrée par Proneo Certification au titre de la catégorie d'action suivante : ACTIONS DE FORMATION.

INFORMATIONS LEGALES

  • Protection des données personnelles
  • Mentions légales et crédits
  • Condition générales d'utilisation (CGU)

INFORMATIONS PRODUITS

  • Calendrier
  • Présentations de technologies
2025 Phirio Paris