Heim > Backend-Entwicklung > Python-Tutorial > Wie berechnet man mit Pandas Groupby den Prozentsatz des Gesamtumsatzes pro Büro?

Wie berechnet man mit Pandas Groupby den Prozentsatz des Gesamtumsatzes pro Büro?

Linda Hamilton
Freigeben: 2024-12-12 19:19:14
Original
174 Leute haben es durchsucht

How to Calculate the Percentage of Total Sales per Office Using Pandas Groupby?

Berechnung des Prozentsatzes des Gesamtumsatzes mit Pandas Groupby

Um den Prozentsatz des Gesamtumsatzes für jedes Büro in einem bestimmten Bundesstaat zu berechnen, können Sie die transformative Kraft von Pandas nutzen. Groupby-Vorgang. Lassen Sie uns in die Details eintauchen.

Stellen Sie sich eine CSV-Datei mit drei Spalten vor: Bundesstaat, Büro-ID und Verkäufe. Um Daten nach Bundesstaat und Büro-ID zu gruppieren und Verkäufe zusammenzufassen, können Sie 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'})
Nach dem Login kopieren
Diese Operation ergibt einen gruppierten DataFrame, in dem die Summe der Verkäufe für jede eindeutige Kombination (Bundesstaat, Büro-ID) berechnet wird.

Um den Prozentsatz der Gesamtverkäufe für jedes Büro zu bestimmen, können Sie Folgendes implementieren die folgenden Strategien:

Transformationsansatz

Einführung in die transformative Kraft der Transformation! Wenden Sie es auf die Verkaufsspalte an und dividieren Sie es durch die Summe der Verkäufe in jedem Bundesstaat.

df['sales'] / df.groupby('state')['sales'].transform('sum')
Nach dem Login kopieren
Diese Transformation ergibt einen DataFrame mit Prozentsätzen, der den Anteil der Verkäufe jedes Büros im Verhältnis zu den Gesamtverkäufen in ihren jeweiligen Bundesstaaten auflistet .

Multi-Groupby-Ansatz

Alternativ können Sie ein neues gruppiertes Objekt basierend auf der Verkaufsspalte in jedem (Bundesstaat, office_id)-Gruppe. Teilen Sie dann durch die Summe der neu gruppierten Spalte.

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()))
Nach dem Login kopieren
Dieser Ansatz liefert Ihnen einen ähnlichen DataFrame mit Prozentwerten, erfordert jedoch eine zusätzliche Gruppierungsebene.

Beide Methoden effektiv Berechnen Sie den prozentualen Beitrag jedes Büros zum Gesamtumsatz in seinen jeweiligen Bundesstaaten. Wenn Sie diese Techniken verstehen, können Sie neue Erkenntnisse aus Ihren gruppierten Daten gewinnen!

Das obige ist der detaillierte Inhalt vonWie berechnet man mit Pandas Groupby den Prozentsatz des Gesamtumsatzes pro Büro?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage