Formation Python scientifique
Python est devenu un langage de choix pour les scientifiques, en raison de sa simplicité de mise en œuvre et de la richesse de son écosystème, notamment grâce à ses nombreuses et performantes librairies de calculs numériques bien souvent développées par les scientifiques eux-mêmes. Python est probablement le seul langage à offrir aux informaticiens un environnement open-source complet dédié à la recherche scientifique, aux sciences de l'ingénieur et aux mathématiques.
Objectifs pédagogiques
- Se repérer dans l'écosystème Python Scientifique
- Créer et utiliser un notebook Jupyter
- Réaliser des opérations sur des tableaux numériques
- Manipuler des données issues de fichiers tabulaires
- Calculer des statistiques à partir de séries temporelles
- Prédire une valeur par interpolation
- Créer des graphiques 2D statiques
- Créer des graphiques 2D interactifs
- Créer des cartes à partir de données géographiques
- Manipuler des images
- Classifier automatiquement un jeu de données
- Mettre en place une méthode d'apprentissage supervisé
- Paralléliser une boucle for
- Mesurer les performances d'un programme
Formation Python scientifique en détail
Programme
1. Poser les fondations
Cette première partie offre une vue d'ensemble de l'écosystème scientifique qui s'est développé autour du langage Python. Il vous apporte une large vision des domaines couverts en présentant plusieurs bibliothèques phares. Vous apprendrez à choisir vos outils et y voir clair pour trouver votre route dans cet environnement où il est facile pour les nouveaux arrivants de perdre pied tant l'univers des disciplines abordées et solutions proposées est grand.
Nous en profiterons pour évoquer quelques limites du langage Python pour le calcul numérique avec notamment :
- les problèmes liés au stockage en mémoire,
- les problèmes d'erreurs numériques.
Nous installerons Anaconda, l'une des distributions les plus utilisées pour l'analyse scientifique de données. Nous verrons comment utiliser un éditeur de code ou les notebooks Jupyter ainsi que le gestionnaire de package, Conda.
2. Les tableaux
Nous discuterons des limites des listes Python afin de comprendre l'intérêt des tableaux Numpy et des dataframes Pandas. A l'aide des nouvelles structures de données qu'offrent ces deux bibliothèques, nous apprendrons à accéder de manière efficace et intuitive à divers jeux de données, parfois même très volumineux. Bien que Pandas soit une excellente bibliothèque pour travailler avec des données tabulaires, nous sommes limités lorsque les données sont de dimension supérieure à 2. Nous présenterons donc la bibliothèque Xarray qui étend davantage encore les fonctionnalités de manipulation de tableaux.
Numpy
Numpy est une bibliothèque Python de calcul numérique (algèbre linéaire) permettant de manipuler des vecteurs et matrices à plusieurs dimensions. Elle offre des types de données avancés pouvant être gérés très simplement. Implémentée en langage C, elle mixe le meilleur des 2 mondes: la souplesse du langage Python et les performances du C.
Pandas
Pandas est une bibliothèque permettant d'analyser avec efficacité des structures de données complexes. Pandas permet de manipuler des matrices dont chaque colonne peut être d'un type différent et offrant de nombreuses et puissantes fonctionnalités de manipulation, réduction, recherche et statistiques.
Xarray
Xarray permet de travailler avec des tableaux multidimensionnels et multi-types. Elle propose des fonctions d'analyse avancées qui s’appuient sur et étendent les forces de base de NumPy et Pandas.
3. Gestion des données temporelles
Nous explorerons les fonctionnalités offertes par la bibliothèque Pandas pour la manipulation de données temporelles. Nous calculerons des statistiques temporelles et nous réaliserons des interpolations de données manquantes. Cela sera aussi l'occasion de découvrir les fonctionnalités offertes par le projet Scipy.
Scipy
SciPy fournit un ensemble d'algorithmes mathématiques et de fonctions utilitaires qui s'appuient sur la bibliothèque Numpy.
4. Visualisation de données
Après une présentation du panomara des bibliothèques actuelles de représentation graphique en Python, nous vous guiderons dans la création de vos propres visualisations graphiques en suivant les bonnes pratiques de conception et de présentation.
Les graphiques réalisés pourront être statiques ou interactifs, univariables ou multivariables.
5. Traitement d'images
Nous passerons en revue les bibliothèques Python dédiées à l'analyse d'images.
A l’aide de la bibliothèque Scikit-image notamment, nous metterons en place quelques traitements classiques d’analyse d’images dont :
- la binarisation,
- l’application de filtres de convolution,
- la segmentation d’image.
Cette partie est l'occasion de découvrir un usage particulier des tableaux Numpy.
6. Optimisations et calculs parallèles
Après avoir compris les bases de la parallélisation en Python (multi-threading et multi-processing), nous verrons comment paralléliser diverses applications via la bibliothèque Dask.
Dask
Cette bibliothèque permet d'assurer le passage à l'échelle des analyses de jeux de données trop volumineux pour être chargés d'un bloc en mémoire par Numpy ou Pandas. Directement compatibles avec les structures de données Numpy ou Pandas, Dask simplifie la parallélisation et la répatition sur des clusters des calculs scientifiques.
7. Machine-learning
Dans cette dernière partie, nous nous familiariserons avec les concepts de base du Machine-Learning. A travers plusieurs exemples concrets, nous vous proposerons une méthodologie pour la mise en place de ce type d'analyse. Nous utiliserons les implémentations mises à disposition par la bibliothèque Scikit-Learn.
(En option) Dans le cadre d'une formation intra-entreprise, un cas pratique ou jeu de données représentatif peut être fourni par l'entreprise afin que le formateur l'intègre dans le cursus.
Public visé et pré-requis
Public
- Toute personne travaillant dans des secteurs ayant de forts besoins en calculs et simulations mathématiques
- Informaticiens, scientifiques, chercheurs et ingénieurs travaillant dans les domaines comme les sciences physiques, la chimie, les sciences des matériaux, la génétique, la mécanique des fluides, l'aérospatiale, les statistiques, le monde de la finance, etc…
Pré-requis
- Connaître l'algorithmie
- Avoir une première expérience du langage Python
- Connaître quelques rudiments mathématiques, trigonométrie (sinus, cosinus) et algèbre linéaire (calcul matriciel)
Ces pré-requis seront contrôlés et validés sous forme d’entretien téléphonique réalisé au plus tard 2 semaines avant la formation.
En cas de non adéquation, des solutions alternatives seront proposées.
Personne en situation de handicap
Pour toutes questions relatives à l’accueil d’un participant présentant un handicap, merci de nous contacter préalablement avant toute inscription.
Prochaines sessions & tarifs
Formations IA / Data Science
Python scientifique
Nantes Du 27 au 21 janvier 2025
Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne
Formations IA / Data Science
Python scientifique
Toulouse Du 31 mars au 4 avril 2025
Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne
Formations IA / Data Science
Python scientifique
Nantes Du 16 au 20 juin 2025
Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne
Formations IA / Data Science
Python scientifique
À distance (FOAD) Du 30 juin au 4 juillet 2025
Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne
Formations IA / Data Science
Python scientifique
Toulouse Du 8 au 12 septembre 2025
Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne
Formations IA / Data Science
Python scientifique
Paris Du 20 au 24 octobre 2025
Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne
Formations IA / Data Science
Python scientifique
Nantes Du 3 au 7 novembre 2025
Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne
Ingénierie pédagogique
Moyens pédagogiques et techniques
- les supports de cours (slides) seront disponibles en ligne et distribués en début de formation (à l'aide d'un lien vers notre outil interne ou d'une version numérisée), puis fournis au format électronique à la fin de la formation
- une salle de formation équipée d'une connexion Internet, d'un vidéoprojecteur, paperboard…
- un ordinateur par stagiaire avec un système d'exploitation installé et les outils nécessaires
Modalités de suivi de l'exécution du programme
- durant la formation : alternance d'apports théoriques (35% du cours) et d’exercices pratiques et de mise en situation sous forme de travaux pratiques corrigés avec l’expert-formateur
-
en fin de formation : évaluation à chaud sur l'atteinte des objectifs pédagogiques sous forme de tour de table et de test de connaissances, d'exercices, de QCM
Moyens d'encadrement
- Formation assurée par un expert Python connaissant les librairies scientifiques
Témoignages
Experts Python scientifique
Mickaël Carlos
Chargé de recherche et développement-Django-python.