Librairies Python pour la Data Science

Objectifs

  • Savoir choisir les librairies Python adéquates dans des projets de données
  • Maîtriser NumPy, Pandas, Matplotlib, Seaborn et Plotly
  • Être autonome dans l'analyse, le nettoyage et la visualisation de données
Tarif inter / participant
2 500 € HT
📄 Programme (PDF) 📅 Voir les dates

Public visé

  • Data analysts
  • Développeurs Python

Prérequis

  • Maîtriser les bases de Python (variables, types, boucles, conditions, fonctions, fichiers)

Méthodes pédagogiques

  • Apports théoriques : exposés interactifs avec diaporama
  • Mise en pratique : TP individuels, exercices progressifs sur données financières réelles
  • Pédagogie active : résolution de problèmes collaboratifs
  • Alternance théorie/pratique : ratio 30 % théorie / 70 % pratique
  • Support de cours remis aux stagiaires
  • QCM mi-parcours (15 questions) et Passage de la certification API Society RS6701 en fin de session

Certification visée : RS6701 — Manipuler, analyser et visualiser des données grâce aux modules Python de Data Science —

Programme détaillé

Jour 1 — L'écosystème Python scientifique & NumPy

  • Tour d'horizon des packages Python de Data Science
  • Installation de bibliothèques scientifiques : pip, venv, miniconda, mamba, miniforge, WinPython
  • Environnement de développement : IPython, Jupyter Notebook, JupyterLab, Spyder, VS Code
  • Présentation de la librairie NumPy
  • Avantages des tableaux (performance, représentation des données)
  • Création de tableaux avec array(), zeros(), ones(), full(), arange(), linspace(), logspace()
  • Multiplication matricielle avec np.dot et l'opérateur @
  • Matrice identité avec identity() et eye(), matrice diagonale avec diag()
  • Initialisation avec des données aléatoires (module random de NumPy)
  • Types de données et attributs ndim, shape, size, dtype, itemsize, nbytes
  • Indexation, slicing, indexation avancée et broadcasting
  • Transposer et changer les dimensions de tableaux (transpose(), reshape(), newaxis())
  • Concaténer et découper des tableaux (concatenate(), vstack(), hstack(), split())
  • Fonctions sum(), min(), max(), median(), percentile(), cumsum(), var(), argmin(), argmax()
  • Masques booléens pour extraire des informations
  • Charger et sauvegarder les tableaux : loadtxt(), save(), load()

Jour 2 — Manipulation de données avec Pandas

  • Présentation de la librairie Pandas
  • Créer une Series et un DataFrame
  • Extraire les indices de ligne et de colonnes (attributs index et columns)
  • Lire et exporter des données (CSV, Excel…)
  • Exploration de données : head(), tail(), info(), describe(), dtypes
  • Indexation implicite et explicite avec loc et iloc
  • Sélection avancée : expressions booléennes, méthode query()
  • Concaténer des données avec concat(), fusion et jointure : merge() et join()
  • Valeurs manquantes : isna(), dropna(), fillna(), interpolate()
  • Trier les données : sort_index(), sort_values()
  • Supprimer des données et doublons : drop(), drop_duplicates()
  • Fonctions d'agrégation : sum(), cumsum(), min(), max(), mean(), median(), var(), std(), quantile()
  • Grouper et analyser : groupby(), aggregate(), apply(), filter(), transform()
  • Tableaux croisés dynamiques : pivot_table()
  • Moyennes glissantes : rolling(), expanding(), ewm()
  • Multi-indices : MultiIndex.from_product(), from_tuple(), from_arrays()
  • Chaînes de caractères et expressions régulières avec Pandas
  • Données temporelles : to_datetime(), date_range(), asfreq(), resample()

Jour 3 — Visualisation avec Matplotlib & Seaborn

  • Présentation de Matplotlib : style MATLAB vs style orienté objet
  • Les objets Figure et Axes
  • Tracer des courbes : plot() — couleur, style, largeur, titre, légende
  • Nuages de points : scatter()
  • Barres d'erreurs : errorbar()
  • Remplissage entre courbes : fill_between()
  • Histogrammes : hist()
  • Graphiques multiples avec subplots() et graphiques 3D avec mplot3d
  • Pandas plot : méthodes plot(), bar(), barh(), hist(), box(), scatter(), pie()
  • Présentation de Seaborn : API Figure-level et Axes-level
  • Relational plots : relplot(), lineplot(), scatterplot()
  • Distributions : displot(), histplot(), jointplot(), pairplot()
  • Données qualitatives : catplot(), barplot(), countplot(), boxplot(), violinplot()
  • Cartes thermiques : heatmap()
  • Modèles de régression linéaire : lmplot()
  • Personnalisation : set_theme(), set_style(), set_context(), despine()

Jour 4 — Visualisation interactive avec Plotly

  • Présentation de la librairie Plotly et de Kaleido : introduction et exploration de Plotly Express
  • Tracer des courbes avec line() : modification de la figure avec les options title, width, height, marker, labels
  • Ajout d'informations : hover_data, hover_name, text
  • Graphiques multiples : facet_row, facet_col
  • Modifier le style : option template, thème par défaut
  • Créer des graphiques en aires avec area() : ajout de motifs avec pattern_shape
  • Créer des nuages de points avec scatter() : utilisation des options size, size_max, opacity, symbol
  • Barre de couleur : color_continuous_scale, update_layout(), update_coloraxes()
  • Mettre en forme des diagrammes en barres avec bar() et des histogrammes avec histogram()
  • Graphiques 3D : utilisation de scatter_3d() et line_3d()
  • Tracer des cartes avec line_map(), scatter_map(), line_geo(), scatter_geo(), et choropleth()
Retour en haut