Maison >développement back-end >Tutoriel Python >Comment additionner des colonnes spécifiques dans un DataFrame Pandas tout en gérant des données non numériques ?

Comment additionner des colonnes spécifiques dans un DataFrame Pandas tout en gérant des données non numériques ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-09 14:29:02777parcourir

How to Sum Specific Columns in a Pandas DataFrame While Handling Non-Numeric Data?

Pandas : additionner les lignes du DataFrame pour des colonnes spécifiques

Dans un Pandas DataFrame, combiner les données de plusieurs lignes pour un ensemble de colonnes donné peut être une tâche courante. Dans cet article, nous aborderons la question du calcul de la somme de colonnes spécifiques dans les lignes DataFrame.

Approche initiale et erreur :

On pourrait tenter d'utiliser le code suivant pour obtenir la somme des colonnes « a », « b » et « d » :

df['e'] = df[['a', 'b', 'd']].map(sum)

Cependant, cette approche échoue en raison de la présence de données non numériques dans la colonne « c » .

Opération correcte :

Pour tenir compte des données non numériques et additionner avec précision les colonnes souhaitées, nous modifions le code comme suit :

df['e'] = df.sum(axis=1, numeric_only=True)

Explication :

La fonction somme est invoquée avec axis=1 pour additionner les lignes plutôt que les colonnes. De plus, numeric_only=True garantit que seules les colonnes numériques sont prises en compte dans le calcul, à l'exclusion des colonnes non numériques telles que « c ».

Somme des colonnes spécifiques :

Pour additionnez uniquement un sous-ensemble de colonnes, créez une liste des colonnes souhaitées et excluez celles dont vous n'avez pas besoin :

col_list.remove('d')
df['e'] = df[col_list].sum(axis=1)

Cette opération additionnerait les colonnes « a », « b » et « c » , en stockant le résultat dans la colonne 'e'.

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!

Déclaration:
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