Comment additionner des lignes spécifiques dans Pandas (avec exemples)
Vous pouvez utiliser les méthodes suivantes pour trouver la somme de lignes spécifiques dans un DataFrame pandas :
Méthode 1 : additionner des lignes spécifiques par index
#sum rows in index positions 0, 1, and 4 df.iloc[[0, 1, 4]].sum()
Méthode 2 : additionner des lignes spécifiques par étiquette
#sum rows with index labels 'A', 'B', and 'E' df.loc[['A', 'B', 'E']].sum()
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({'points': [28, 17, 19, 14, 23, 26, 5], 'rebounds': [5, 6, 4, 7, 14, 12, 9], 'assists': [10, 13, 7, 8, 4, 5, 8]}) #set index df = df.set_index([pd.Index(['A', 'B', 'C', 'D', 'E', 'F', 'G'])]) #view DataFrame print(df) points rebounds assists A 28 5 10 B 17 6 13 C 19 4 7 D 14 7 8 E 23 14 4 F 26 12 5 G 5 9 8
Exemple 1 : somme de lignes spécifiques par index
Le code suivant montre comment additionner les valeurs des lignes avec les valeurs d’index 0, 1 et 4 pour chaque colonne du DataFrame :
#sum rows in index positions 0, 1, and 4
df.iloc[[0, 1, 4]].sum()
points 68
rebounds 25
assists 27
dtype: int64
À partir du résultat, nous pouvons voir :
- La somme des lignes avec les valeurs d’index 0, 1 et 4 pour la colonne de points est 68 .
- La somme des lignes avec les valeurs d’index 0, 1 et 4 pour la colonne des rebonds est 25 .
- La somme des lignes avec les valeurs d’index 0, 1 et 4 pour la colonne des passes décisives est 27 .
Notez également que vous pouvez additionner une plage spécifique de lignes en utilisant la syntaxe suivante :
#sum rows in index positions between 0 and 4
df.iloc[0:4].sum()
points 78
rebounds 22
assists 38
dtype: int64
À partir de la sortie, nous pouvons voir la somme des lignes avec des valeurs d’index comprises entre 0 et 4 (sans compter 4) pour chacune des colonnes du DataFrame.
Exemple 2 : additionner des lignes spécifiques par étiquette
Le code suivant montre comment additionner les valeurs des lignes avec les étiquettes d’index « A », « B » et « E » pour chaque colonne du DataFrame :
#sum rows with index labels 'A', 'B', and 'E' df.loc[['A', 'B', 'E']].sum() points 68 rebounds 25 assists 27 dtype: int64
À partir du résultat, nous pouvons voir :
- La somme des lignes avec les valeurs d’index ‘A’, ‘B’ et ‘E’ pour la colonne de points est 68 .
- La somme des lignes avec les valeurs d’index ‘A’, ‘B’ et ‘E’ pour la colonne des rebonds est 25 .
- La somme des lignes avec les valeurs d’index ‘A’, ‘B’ et ‘E’ pour la colonne des assistances est 27 .
Connexes : La différence entre loc et iloc chez Pandas
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Comment exécuter une fonction SUMIF dans Pandas
Comment effectuer une somme GroupBy dans Pandas
Comment additionner des colonnes en fonction d’une condition dans Pandas