pivot_table() construit un tableau croisé : une colonne fournit les lignes, une autre les colonnes, et une fonction d'agrégation résume les valeurs à leur intersection. Le paramètre margins ajoute les totaux et fill_value remplace les cases vides. C'est l'équivalent d'un tableau croisé dynamique de tableur.
Exemple
pd.pivot_table(df, index='pays', columns='annee', values='ca', aggfunc='sum')