Files
training.python.datascience/documentation/00.1-course-plan.md
Steve Kossouho d06fd5414d Rename documentation files
Removed new- prefix.
Added old- prefix to old files.
2025-07-12 17:03:38 +02:00

226 lines
7.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Introduction à Pandas
## Concepts de base
- Types de base : `Series`
- Types de base : `DataFrame`
- Types de base : `Index`
- Types alternatifs : `MultiIndex`
- Types alternatifs : `DatetimeIndex`
## Jupyter
- Types de cellules, Kernel
- Raccourcis clavier par défaut
- Qu'est-ce que Jupyter ?
- Avantages de Jupyter pour l'analyse de données
- Installer Jupyter et lancer un serveur Jupyter
- Types de cellules, Kernel
- Raccourcis clavier par défaut
## Création de données avec Python, Numpy et Pandas
- Tableaux Numpy
- Création et manipulation de tableaux (1D et 2D)
- Fonctions pour générer des séquences
- numpy.arange() et numpy.linspace()
- pandas.date_range()
- numpy.random.default_rng()
- numpy.empty, ones, zeros, etc.
- Numpy : "Array creation routines"
## Manipuler une série
- Quelles sont les propriétés d'une série ?
- Quand obtient-on une série ?
- Types de données (`dtype`)
- Créer une série
- Avec index par défaut
- Avec un index
- Préciser le dtype
- Extraire des informations d'une série (valeurs, index)
- Opérations sur séries (arithmétiques, comparaisons)
- Modifier une valeur d'une série
- Valeurs vides et filtrage (isna, notna, dropna, fillna, count)
- Méthodes des séries booléennes (any, all)
- Récupérer les valeurs distinctes (unique) et retirer des doublons
- Appliquer une fonction aux valeurs d'une série
- Filtrer une série (slice, indexes, conditions, filtres str, filtres dt)
- Concaténation de séries
## Manipuler un dataframe
- Quelles sont les propriétés d'un DataFrame ?
- Notions et nomenclature des DataFrame (index, colonnes)
- Quand obtient-on un DataFrame ?
- Types de données (`dtypes`)
- Créer un DataFrame
- Avec des index par défaut (colonnes et lignes)
- Avec des index (colonnes et lignes)
- Extraire des informations d'un DataFrame
- Taille d'un DataFrame
- Index des lignes et colonnes
- Cellule à une position (`at`)
- Une ligne de données (`loc`, `iloc`)
- Une colonne de données (`df[]`)
- Plusieurs lignes de données (`loc`, `iloc`)
- Plusieurs colonnes de données (`df[]`)
- Lignes **et** colonnes (`loc[,]`, `iloc[,]`)
- Filtrage conditionnel (`loc[]`)
- Déduplication des lignes (`drop_duplicates`)
- Tri des lignes
- Récapitulatif
- Valeurs vides et filtrage (isna, notna, dropna, fillna)
- Détecter les valeurs vides (isna, notna)
- Méthodes des séries booléennes (any, all, sum)
- Supprimer les lignes avec des valeurs vides (dropna)
- Remplacer les valeurs vides (fillna)
- Modifier des informations dans un DataFrame
- Changer toute une colonne ou ligne
- Créer une ligne ou une colonne (+ insertion)
- Changer une cellule
- Retirer une ou plusieurs lignes et colonnes
- Appliquer une fonction
- Comme du SQL, pour des DataFrame
- Ajouter un DataFrame sous ou à côté d'un autre
- Effectuer des jointures (left, right, inner, outer)
- Groupements (group_by)
- Fenêtres
- Configurer l'affichage d'un DataFrame (config ou to_string)
## Utiliser des index
- Quelles sont les propriétés d'un index ?
- Extraire des valeurs d'un index (position, slicing)
- Connaître la position d'une valeur dans l'index (`get_loc`)
- Définir un index à un DataFrame ou une série
- Réinitialiser l'index d'un DataFrame ou une série
- Trier par un index (MultiIndex)
- Comprendre les MultiIndex
- Les DatetimeIndex et la fonction date_range
## Calculer avec des séries et des dataframe
- Appliquer des fonctions d'agrégation (statistiques etc.)
- Sur une série
- Sur un DataFrame (`describe()`)
- Multiples résultats simultanés (`df.agg()`)
- Fonctions d'agrégation personnalisées
- Conversion des types (to_datetime, `.astype()`, etc.)
- Opérations et comparaisons sur les séries et dataframes
## Chargement de DataFrame depuis fichiers
- Protocoles pris en charge (https, file)
- Chargement de fichiers CSV (inférence, dates, en-têtes, encodage)
- Chargement de fichiers Excel (moteurs de chargement : xlrd, openpyxl etc.)
- Chargement depuis document JSON (liste de dictionnaires etc.)
- Prise en charge des archives (zip, gz, bz2, xz)
- Chargement depuis SQLite3 (ou SQLAlchemy)
## Enregistrement de DataFrame vers des fichiers
- Formats de sauvegarde classiques (Excel, CSV)
- Formats SQL (connexion SQLAlchemy ou SQLite3)
- Format Pickle
## Export de DataFrame vers des formats divers
- Vers un dictionnaire
- Vers une chaîne de caractères
- Vers un document HTML
## Rendu de graphiques avec Pandas et Matplotlib
- Matplotlib, qu'est-ce que c'est ?
- Comment ça marche ?
### Diagrammes avec Pandas
- Exemples simples (création de diagrammes matplotlib)
- Générer un diagramme en barres
- Générer un diagramme en lignes
- Générer un diagramme en secteurs
- Générer un nuage de points
- Autres diagrammes
- Personnaliser les diagrammes
- Arguments de la méthode `.plot()` (tracé)
### Matplotlib plus complet
- Créer un simple tracé et dessiner dedans
- Avec un DataFrame
- Avec des données brutes (Numpy ou Python)
- Dessiner par-dessus un tracé (hold state)
- Objets de type `Figure` et sous-tracés (`Axes`)
- Layout multi-tracés (`subplots`)
- Manipuler un objet de tracé `Axes`
- Afficher les diagrammes (fenêtres)
- Personnaliser les couleurs
- Nommage des couleurs
- Cartes de couleur (`Colormap`)
- Objets colormap fournis par Matplotlib
- Objets colormap personnalisés (classes Colormap)
- Personnaliser les tracés
- Largeurs de traits, contours de zones
- Couleurs de fond
- Couleurs de tracés
- Espacements et mise en page
- Polices de texte
- Génération de légendes
- Libellés (X, Y, titre, Axes, valeurs de barres/secteurs)
- Dessiner par-dessus un tracé (lignes, texte, cercles)
# Rendu de diagrammes statistiques avec Seaborn
- Seaborn, c'est quoi ?
- Créer un simple tracé pour une matrice de corrélation (heatmap)
# Rendu de diagrammes web avec Plotly et Dash
- Plotly, c'est quoi ?
- Plotly Express, c'est quoi ?
- Exemples simples
- Générer un diagramme en barres
- Générer un diagramme en lignes
- Générer un diagramme en secteurs
- Générer un nuage de points
- Générer un diagramme de Sankey
- Dash, c'est quoi ?
- Générer un tableau de bord simple avec Dash
- Construction avec des composants HTML
- Composant `dash_table.DashTable`
- Composants DCC (Dash Core Components)
- Créer un dashboard via un document HTML (dash-htmlayout)
- Interactivité dans un tableau de bord Dash
- Callbacks
- Entrées
- Sorties
- Propriétés des composants
- Styles CSS et scripts JS dans un document Dash
- Répertoire de recherche des fichiers et configuration
- dash-htmlayout pour créer son layout de tableau de bord sans Python
# Concurrence et parallélisme dans le traitement de données
- Optimisation des performances via la parallélisation/threading
- Outils Python d'exécution concurrente/parallèle
- Celery (Linux seulement)
- Configuration
- Installation d'un broker (Redis)
- Envoi d'une tâche Celery
- Démarrage d'une tâche et service Worker
- Tâches périodiques et service Beat
- Spark + pySpark (Linux seulement)
# Outils et bibliothèques de performance Python
- Numba
- Nuitka
- PyPy
- Mesurer le temps d'exécution de votre code
- Concept : Profiling