Maison > développement back-end > Tutoriel Python > Comment calculer la somme des lignes de colonnes spécifiques dans un Pandas DataFrame ?

Comment calculer la somme des lignes de colonnes spécifiques dans un Pandas DataFrame ?

Susan Sarandon
Libérer: 2024-11-10 12:51:02
original
619 Les gens l'ont consulté

How do I calculate the row sum of specific columns in a Pandas DataFrame?

Somme de lignes de colonnes données dans Pandas DataFrame

Dans la bibliothèque Pandas de Python, nous rencontrons souvent le besoin de calculer la somme de colonnes spécifiques dans un DataFrame. Pour y parvenir efficacement, nous devons considérer les paramètres et opérations appropriés.

Considérons le DataFrame suivant :

df = pd.DataFrame({'a': [1, 2, 3],
                   'b': [2, 3, 4],
                   'c': ['dd', 'ee', 'ff'],
                   'd': [5, 9, 1]})
Copier après la connexion

Notre objectif est d'ajouter une colonne 'e' qui représente la somme de colonnes « a », « b » et « d ». Bien qu'intuitivement, on pourrait aborder cela avec quelque chose comme :

df['e'] = df[['a', 'b', 'd']].map(sum)
Copier après la connexion

cette méthode ne parvient pas à produire le résultat souhaité.

L'approche correcte implique d'utiliser la fonction sum() avec les paramètres suivants :

  • axis=1 : Spécifie que la sommation doit être effectuée le long des lignes (horizontalement).
  • numeric_only=True : garantit que seules les colonnes numériques sont prises en compte dans l'opération, à l'exclusion des colonnes non numériques comme « c ».

L'application de cette approche donne ce qui suit résultat :

df['e'] = df.sum(axis=1, numeric_only=True)
Copier après la connexion

Sortie :

   a  b   c  d   e
0  1  2  dd  5   8
1  2  3  ee  9  14
2  3  4  ff  1   8
Copier après la connexion

Alternativement, si nous souhaitons calculer la somme de colonnes spécifiques uniquement, nous pouvons créer une liste de ces colonnes et éliminer celles que nous ne donnons pas. Vous n'avez pas besoin d'utiliser la méthode Remove().

col_list = list(df)
col_list.remove('d')

df['e'] = df[col_list].sum(axis=1)
Copier après la connexion

Sortie :

   a  b   c  d  e
0  1  2  dd  5  3
1  2  3  ee  9  5
2  3  4  ff  1  7
Copier après la connexion

En utilisant ces opérations, nous pouvons additionner efficacement les lignes des colonnes spécifiées dans un Pandas DataFrame, garantissant ainsi une analyse précise et efficace des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal