Pandas : comment additionner des colonnes en fonction d’une condition
Vous pouvez utiliser la syntaxe suivante pour additionner les valeurs d’une colonne dans un DataFrame pandas en fonction d’une condition :
df.loc[df['col1'] == some_value, 'col2'].sum()
Ce tutoriel fournit plusieurs exemples d’utilisation pratique de cette syntaxe à l’aide du DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['A', 'A', 'A', 'B', 'B', 'C'], 'conference': ['East', 'East', 'East', 'West', 'West', 'East'], 'points': [11, 8, 10, 6, 6, 5], 'rebounds': [7, 7, 6, 9, 12, 8]}) #view DataFrame df team conference points rebounds 0 A East 11 7 1 A East 8 7 2 A East 10 6 3 B West 6 9 4 B West 6 12 5 C East 5 8
Exemple 1 : additionner une colonne en fonction d’une condition
Le code suivant montre comment trouver la somme des points pour les lignes où l’équipe est égale à « A » :
df.loc[df['team'] == 'A', 'points'].sum() 29
Exemple 2 : additionner une colonne en fonction de plusieurs conditions
Le code suivant montre comment trouver la somme des points pour les lignes où l’équipe est égale à « A » et où la conférence est égale à « Est » :
df.loc[(df['team'] == 'A') & (df['conference'] == 'East'), 'points'].sum() 29
Exemple 3 : additionner une colonne en fonction de l’une des plusieurs conditions
Le code suivant montre comment trouver la somme des points pour les lignes où l’équipe est égale à « A » ou « B » :
df.loc[df['team'].isin(['A', 'B']), 'points'].sum() 41
Vous pouvez trouver plus de tutoriels sur les pandas sur cette page .