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