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
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 RS6763 en fin de session
Certification visée : RS6763 — 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()
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