Maison >développement back-end >Tutoriel Python >Comment calculer le pourcentage de ventes par bureau dans chaque État à l'aide de Pandas ?

Comment calculer le pourcentage de ventes par bureau dans chaque État à l'aide de Pandas ?

DDD
DDDoriginal
2024-12-05 04:41:13825parcourir

How to Calculate Percentage of Sales per Office within Each State Using Pandas?

Pourcentage du total avec Groupby dans Pandas

Cet article se concentre sur une tâche courante dans l'analyse des données : calculer le pourcentage d'un total pour chaque groupe au sein d’un DataFrame. Voici la question et une solution utilisant Pandas.

Question :

J'ai un fichier CSV avec les colonnes État, ID bureau et Ventes. Je souhaite calculer le pourcentage de ventes par bureau dans un état donné, où le total de tous les pourcentages dans chaque état est de 100%.

Solution :

Pour atteindre ceci, nous devons créer un deuxième niveau groupby.

Tout d'abord, nous pouvons créer un objet groupby basé sur 'state' et 'office_id' colonnes :

import pandas as pd
state_office = df.groupby(['state', 'office_id']).agg({'sales': 'sum'})

Ensuite, nous créons un nouveau DataFrame en divisant chaque valeur de vente par sa somme correspondante par état :

state_pcts = state_office.groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))

Cette approche permet de suivre la somme des ventes par état tout en garantissant que le pourcentage de chaque groupe au sein d'un État totalise 100 %.

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