Maison >développement back-end >Tutoriel Python >Comment calculer le pourcentage de ventes par bureau dans chaque État à l'aide de Pandas Groupby ?
Pourcentage Pandas du total avec Groupby
Le calcul du pourcentage de ventes par bureau dans un état donné peut être effectué à l'aide du groupby de Pandas. Cependant, cela nécessite une étape supplémentaire pour obtenir le résultat souhaité.
Supposons que nous ayons un fichier CSV avec des colonnes représentant l'État, l'ID du bureau et les ventes. Nous pouvons importer des Pandas et créer un DataFrame :
import pandas as pd df = pd.DataFrame({'state': ['CA', 'WA', 'CO', 'AZ'] * 3, 'office_id': list(range(1, 7)) * 2, 'sales': [np.random.randint(100000, 999999) for _ in range(12)]})
Pour calculer les ventes totales pour chaque bureau et état, nous pouvons regrouper selon ces colonnes :
state_office = df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
Pour calculer le pourcentage de ventes par bureau dans un état donné, nous pouvons regrouper par état et appliquer une fonction qui divise les ventes de chaque bureau par le total des ventes de l'état :
state_pcts = state_office.groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))
Ceci donne un DataFrame avec le pourcentage de ventes pour chaque bureau :
print(state_pcts) sales state office_id AZ 2 16.981365 4 19.250033 6 63.768601 CA 1 19.331879 3 33.858747 5 46.809373 CO 1 36.851857 3 19.874290 5 43.273852 WA 2 34.707233 4 35.511259 6 29.781508
Cette méthode calcule efficacement le pourcentage de ventes par bureau dans un état donné en "atteignant" le niveau d'état du groupe pour totaliser augmenter les ventes pour tout l'État.
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!