0Pricing
Learn AI with Python · Leçon

Tableaux croisés dynamiques et tableaux de contingence

pd.pivot_table(), pd.crosstab() et remodelage des données pour les statistiques récapitulatives.

Tableaux croisés dynamiques et tableaux de contingence est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Remodelage pour mieux comprendre les données

Un tableau croisé dynamique transforme des données longues en grille et résume une valeur selon deux axes catégoriels. C’est le tableau croisé dynamique des feuilles de calcul, mais programmable.

import pandas as pd
df = pd.DataFrame({
    "region": ["E", "E", "W", "W", "E"],
    "product": ["A", "B", "A", "B", "A"],
    "sales": [10, 20, 30, 40, 50],
})

pivot_table de base

pd.pivot_table utilise values (les nombres à résumer), index (les lignes) et columns (les colonnes). Par défaut, il calcule la moyenne des cellules en double.

pt = pd.pivot_table(df, values="sales", index="region", columns="product")
print(pt)
# product     A     B
# region
# E        30.0  20.0
# W        30.0  40.0

Choix de la fonction d’agrégation

Définissez aggfunc pour contrôler la manière dont les doublons sont regroupés : somme, moyenne, comptage, etc. Utilisez une liste pour en appliquer plusieurs à la fois.

pt = pd.pivot_table(df, values="sales", index="region",
                    columns="product", aggfunc="sum")
print(pt)

Fonctions d’agrégation multiples

Transmettez une liste de fonctions pour calculer plusieurs synthèses côte à côte.

pt = pd.pivot_table(df, values="sales", index="region",
                    aggfunc=["sum", "mean", "count"])
print(pt)

Remplissage des cellules manquantes

Les combinaisons sans données deviennent NaN. fill_value les remplace, souvent par 0, pour obtenir des rapports clairs.

pt = pd.pivot_table(df, values="sales", index="region",
                    columns="product", aggfunc="sum", fill_value=0)
print(pt)

Marges (totaux)

Définissez margins=True pour ajouter les totaux généraux des lignes et des colonnes, étiquetés « Tous » par défaut.

pt = pd.pivot_table(df, values="sales", index="region",
                    columns="product", aggfunc="sum",
                    fill_value=0, margins=True)
print(pt)

Niveaux d’index multiples

Transmettez des listes à index ou columns pour obtenir des ventilations hiérarchiques, par exemple d’abord par région, puis par produit.

df["channel"] = ["on", "off", "on", "off", "on"]
pt = pd.pivot_table(df, values="sales",
                    index=["region", "channel"], aggfunc="sum")
print(pt)

Tableau croisé avec crosstab

pd.crosstab est un tableau croisé spécialisé qui COUNTS la fréquence des combinaisons de deux variables catégorielles, sans nécessiter de colonne de valeurs.

ct = pd.crosstab(df["region"], df["product"])
print(ct)
# product   A  B
# region
# E         2  1
# W         1  1

Normalisation de crosstab

L’argument normalize transforme les comptages en proportions : "index" par ligne, "columns" par colonne ou True sur le total général.

ct = pd.crosstab(df["region"], df["product"], normalize="index")
print(ct)   # each row sums to 1.0

crosstab avec des valeurs

Fournissez values et aggfunc pour que crosstab résume une mesure au lieu de compter, ce qui le rapproche de pivot_table.

ct = pd.crosstab(df["region"], df["product"],
                 values=df["sales"], aggfunc="sum")
print(ct)

pivot_table ou crosstab

Utilisez pivot_table pour résumer une valeur numérique ; utilisez crosstab pour compter les fréquences des combinaisons de catégories. crosstab permet également de normaliser les résultats en proportions sur une seule ligne de code.

Vérification rapide

Testez vos connaissances en remodelage des données.

Récapitulatif

Boîte à outils de remodelage :

  • pd.pivot_table(values, index, columns, aggfunc) résume une mesure
  • fill_value pour les cellules vides, margins=True pour les totaux
  • Fournissez des listes pour indexer les lignes et les colonnes de manière hiérarchique
  • pd.crosstab compte les combinaisons ; normalize produit des proportions

Questions Fréquemment Posées

La leçon « Tableaux croisés dynamiques et tableaux de contingence » est-elle gratuite ?

Oui — le texte complet de « Tableaux croisés dynamiques et tableaux de contingence » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Tableaux croisés dynamiques et tableaux de contingence » ?

pd.pivot_table(), pd.crosstab() et remodelage des données pour les statistiques récapitulatives. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Tableaux croisés dynamiques et tableaux de contingence » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. GroupBy et agrégation
  2. Tableaux croisés dynamiques et tableaux de contingence
  3. Fusion et jointure avancées
  4. Séries temporelles dans Pandas
← Retour à Learn AI with Python