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
Libérer: 2024-11-09 14:29:02
original
786 Les gens l'ont consulté

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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!

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