Pandas : comment utiliser Groupby et Plot (avec exemples)



Vous pouvez utiliser les méthodes suivantes pour effectuer un groupby et un tracé avec un DataFrame pandas :

Méthode 1 : regrouper par et tracer plusieurs lignes dans un seul tracé

#define index column
df.set_index('day', inplace=True)

#group data by product and display sales as line chart
df.groupby('product')['sales'].plot(legend=True)

Méthode 2 : regrouper par et tracer des lignes dans des sous-parcelles individuelles

pd.pivot_table(df.reset_index(),
               index='day', columns='product', values='sales'
              ).plot(subplots=True)

L’exemple suivant montre comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'day': [1, 2, 3, 4, 5, 1, 2, 3, 4, 5],
                   'product': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   'sales': [4, 7, 8, 12, 15, 8, 11, 14, 19, 20]})

#view DataFrame
df

	day	product	sales
0	1	A	4
1	2	A	7
2	3	A	8
3	4	A	12
4	5	A	15
5	1	B	8
6	2	B	11
7	3	B	14
8	4	B	19
9	5	B	20

Méthode 1 : regrouper par et tracer plusieurs lignes dans un seul tracé

Le code suivant montre comment regrouper le DataFrame par la variable « produit » et tracer les « ventes » de chaque produit dans un graphique :

#define index column
df.set_index('day', inplace=True)

#group data by product and display sales as line chart
df.groupby('product')['sales'].plot(legend=True)

regroupement et intrigue des pandas

L’axe des x affiche le jour, l’axe des y affiche les ventes et chaque ligne individuelle affiche les ventes des produits individuels.

Méthode 2 : regrouper par et tracer des lignes dans des sous-parcelles individuelles

Le code suivant montre comment regrouper le DataFrame par la variable « produit » et tracer les « ventes » de chaque produit dans des sous-parcelles individuelles :

pd.pivot_table(df.reset_index(),
               index='day', columns='product', values='sales'
              ).plot(subplots=True)

les pandas sont regroupés et tracés dans des sous-parcelles

Le premier graphique montre les ventes du produit A et le deuxième graphique montre les ventes du produit B.

Notez que nous pouvons également utiliser l’argument layout pour spécifier la disposition des sous-traces.

Par exemple, nous pourrions spécifier que les sous-tracés soient dans une grille avec une ligne et deux colonnes :

pd.pivot_table(df.reset_index(),
               index='day', columns='product', values='sales'
              ).plot(subplots=True, layout=(1,2))

Ressources additionnelles

Les didacticiels suivants expliquent comment créer d’autres visualisations courantes dans les pandas :

Comment créer un boxplot à partir de Pandas DataFrame
Comment créer un diagramme circulaire à partir de Pandas DataFrame
Comment créer un histogramme à partir de Pandas DataFrame

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *