Prozentsatz von Pandas am Gesamtvolumen mit Groupby
Die Berechnung des Prozentsatzes der Verkäufe pro Büro in einem bestimmten Bundesstaat kann mit Groupby von Pandas erfolgen. Es ist jedoch ein zusätzlicher Schritt erforderlich, um das gewünschte Ergebnis zu erzielen.
Angenommen, wir haben eine CSV-Datei mit Spalten für Bundesland, Büro-ID und Verkäufe. Wir können Pandas importieren und einen DataFrame erstellen:
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)]})
Um den Gesamtumsatz für jedes Büro und jeden Bundesstaat zu berechnen, können wir nach diesen Spalten gruppieren:
state_office = df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
Um den Prozentsatz von zu berechnen Um den Umsatz pro Büro in einem bestimmten Bundesstaat zu ermitteln, können wir nach Bundesstaat gruppieren und eine Funktion anwenden, die den Umsatz jedes Büros durch den Gesamtumsatz des Bundesstaats dividiert:
state_pcts = state_office.groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))
Dies ergibt: ein DataFrame mit dem Prozentsatz der Verkäufe für jedes Büro:
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
Diese Methode berechnet effektiv den Prozentsatz der Verkäufe pro Büro in einem bestimmten Bundesstaat, indem sie bis zur Bundesstaatsebene der Gruppe „nach oben reicht“, um die Summe zu ermitteln Verkäufe für den gesamten Staat.
Das obige ist der detaillierte Inhalt vonWie berechnet man mit Pandas Groupby den Prozentsatz des Umsatzes pro Büro in jedem Bundesstaat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!