Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 3 · Concaténation et tri

Empiler, juxtaposer et trier

Concaténer assemble des tables sans clé de jointure : pd.concat([df1, df2, ...]).

OptionEffet
axis=0 (défaut)empile verticalement (ajout de lignes) ; colonnes similaires attendues
axis=1place côte à côte (ajout de colonnes) ; index alignés
ignore_index=Truenouvel index séquentiel 0, 1, 2… au lieu de garder les anciens

Si les colonnes diffèrent (par exemple df_ventes_jour3 a une colonne de plus), les cases sans correspondance sont remplies par des NaN : c'est la question « Que constatez-vous ? » du TP. En Python pur, empiler = jour1 + jour2 (listes), et les colonnes manquantes se complètent avec l.get(col).

Vérifie que tu as compris

Quelle est la différence essentielle entre concat et merge ?

Vérifie que tu as compris

Que fait ignore_index=True dans concat ?

À toi de coder

Empiler deux jours de ventes

Deux fichiers de ventes (jour 1 et jour 3) n'ont pas exactement les mêmes colonnes : le jour 3 ajoute remise. Empile-les dans total, puis complète la colonne manquante par None pour les lignes du jour 1, comme le ferait concat avec des NaN. Calcule aussi le nombre total de colonnes distinctes.

Ctrl/⌘+Entrée

Trier : sort_values

.sort_values(by=[...], ascending=[...]) trie par une ou plusieurs colonnes ; ascending=True est le défaut. On trie pour remettre les observations dans un ordre cohérent (avant un export) ou pour visualiser les extrêmes après un describe. Tri multiple : « d'abord client_id croissant, puis montant décroissant ».

En Python pur : sorted(lignes, key=lambda l: (l["client_id"], -l["montant"])). Le signe moins inverse l'ordre d'une colonne numérique. Pour du texte décroissant, on fait deux tris successifs (Python trie de façon stable) ou reverse=True si toutes les colonnes vont dans le même sens.

À toi de coder

Tri sur deux colonnes

Trie les commandes d'abord par client_id croissant, puis, à client égal, par montant décroissant. La clé de tri est un tuple ; le signe moins renverse l'ordre d'un nombre.

Ctrl/⌘+Entrée