groupby mit Bedingung

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
st_baum
User
Beiträge: 26
Registriert: Sonntag 24. Mai 2020, 13:54

Mittels

Code: Alles auswählen


df.groupby('industry')['employment'].mean()

kann ich mir die durchschnittliche Anzahl der Beschäftigten ('employment') in jeder 'industry' bestimmen lassen. Ich möchte den Befehl so erweitern, dass ich noch eine Bedingungen einführen kann. Es sollen nur die 'industry' in bestimmten 'country' herangezogen werden.

Wie löse ich das am elegantesten? Ich kann natürlich den df so filtern, dass ich nur die jeweiligen 'country' im dataframe behalte, erscheint mir aber nicht so richtig sauber.
Sirius3
User
Beiträge: 17761
Registriert: Sonntag 21. Oktober 2012, 17:20

Doch, das ist sauber. Erst filtern dann gruppieren.
st_baum
User
Beiträge: 26
Registriert: Sonntag 24. Mai 2020, 13:54

Um sicher zu gehen, hier ein Vorschlag:

Code: Alles auswählen

df_filtered = df[(df['country'] == 'germany')]
df_filtered.groupby('industry')['employment'].mean()
Ist ein sauberes Vorgehen?
Benutzeravatar
DeaD_EyE
User
Beiträge: 1022
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Für mich als nicht-pandas-Nutzer sieht das sauber aus.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten