Pandas : Comment obtenir un groupe après avoir utilisé groupby()



Vous pouvez utiliser les méthodes suivantes pour obtenir un groupe spécifique après avoir utilisé la fonction groupby() sur un DataFrame pandas :

Méthode 1 : obtenir le groupe après avoir utilisé groupby()

grouped_df.get_group('A')

Méthode 2 : obtenir des colonnes spécifiques du groupe après avoir utilisé groupby()

grouped_df[['column1', 'column3']].get_group('A')

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'store': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   'sales': [12, 15, 24, 24, 14, 19, 12, 38],
                   'refunds': [4, 8, 7, 7, 10, 5, 4, 11]})

#view DataFrame
print(df)

  store  sales  refunds
0     A     12        4
1     A     15        8
2     A     24        7
3     A     24        7
4     B     14       10
5     B     19        5
6     B     12        4
7     B     38       11

Exemple 1 : obtenir un groupe après avoir utilisé groupby()

Le code suivant montre comment utiliser la fonction groupby( ) pour regrouper les lignes par nom de magasin, puis utiliser la fonction get_group() pour récupérer toutes les lignes appartenant au groupe portant le nom de groupe « A » :

#group rows of DataFrame based on value in 'store' column
grouped_stores = df.groupby(['store'])

#get all rows that belong to group name 'A'
grouped_stores.get_group('A')

    store    sales  refunds
0	A	12	  4
1	A	15	  8
2	A	24	  7
3	A	24	  7

Notez que get_group() renvoie toutes les lignes appartenant au groupe portant le nom de groupe « A ».

Exemple 2 : obtenir des colonnes spécifiques du groupe après avoir utilisé groupby()

Le code suivant montre comment utiliser la fonction groupby( ) pour regrouper les lignes par nom de magasin, puis utiliser la fonction get_group() pour récupérer toutes les lignes appartenant au groupe portant le nom de groupe « A » uniquement pour les « ventes » et Colonnes « remboursements » :

#group rows of DataFrame based on value in 'store' column
grouped_stores = df.groupby(['store'])

#get all rows that belong to group name 'A' for sales and refunds columns
grouped_stores[['store', 'refunds']].get_group('A')

    store  refunds
0	A	 4
1	A	 8
2	A	 7
3	A	 7

Notez que get_group() renvoie toutes les lignes appartenant au groupe portant le nom de groupe « A » pour les colonnes « ventes » et « remboursements » uniquement.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment effectuer une somme GroupBy dans Pandas
Comment utiliser Groupby et Plot dans Pandas
Comment compter les valeurs uniques à l’aide de GroupBy dans Pandas

Ajouter un commentaire

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