Maison >développement back-end >Tutoriel Python >Comment calculer le pourcentage des ventes totales par bureau à l'aide de Pandas Groupby ?
Pour calculer le pourcentage des ventes totales pour chaque bureau dans un état donné, vous pouvez tirer parti du pouvoir de transformation de Pandas opération groupby. Entrons dans les détails.
Considérons un fichier CSV avec trois colonnes : state, office_id et sales. Pour regrouper les données par état et office_id et résumer les ventes, vous pouvez utiliser df.groupby(['state', 'office_id']).agg({'sales': 'sum'}).
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)]}) df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
Cette opération génère un DataFrame groupé où la somme des ventes est calculée pour chaque combinaison unique (state, office_id).
Pour déterminer le pourcentage des ventes totales pour chaque bureau, vous pouvez mettre en œuvre les stratégies suivantes :
Présentation du pouvoir transformateur de la transformation ! Appliquez-le à la colonne des ventes et divisez par la somme des ventes dans chaque État.
df['sales'] / df.groupby('state')['sales'].transform('sum')
Cette transformation donne un DataFrame avec des pourcentages, répertoriant la fraction des ventes de chaque bureau par rapport aux ventes totales dans leurs États respectifs. .
Vous pouvez également créer un nouvel objet groupé basé sur la colonne de ventes au sein de chacun (état, office_id). Ensuite, divisez par la somme de la colonne nouvellement regroupée.
state_office = df.groupby(['state', 'office_id']).agg({'sales': 'sum'}) state_pcts = state_office.groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))
Cette approche vous donne un DataFrame similaire avec des valeurs en pourcentage, mais elle nécessite un niveau de regroupement supplémentaire.
Les deux méthodes sont efficaces calculer la contribution en pourcentage de chaque bureau aux ventes totales dans leurs États respectifs. En comprenant ces techniques, vous pouvez débloquer de nouvelles informations à partir de vos données groupé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!