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!