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

Comment calculer le pourcentage de ventes par bureau dans chaque État dans un DataFrame Pandas ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-11 08:36:11223parcourir

How to Calculate the Percentage of Sales per Office Within Each State in a Pandas DataFrame?

Calcul du pourcentage de ventes par bureau au sein d'un État

Problème :

Dans un DataFrame contenant des données sur les ventes, vous souhaitez déterminer le pourcentage de ventes par bureau dans chaque État, où le total de tous les pourcentages dans chaque État s'élève à 100 %.

Solution :

Pour y parvenir, vous pouvez utiliser les fonctions groupby et transform pour calculer le pourcentage des ventes par rapport aux ventes totales dans chaque état :

import pandas as pd

# Create the DataFrame
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)]})

# Calculate the sum of sales for each state
total_sales_by_state = df.groupby('state')['sales'].transform('sum')

# Calculate the percentage of sales for each office
df['sales_percent'] = 100 * df['sales'] / total_sales_by_state

Cela ajoutera une nouvelle colonne, sales_percent, à votre DataFrame, qui représente le pourcentage des ventes de chaque bureau par rapport aux ventes totales dans son état respectif.

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