CodeGym /Java Kurs /Python SELF DE /Daten gruppieren und Summe sowie Durchschnitt berechnen

Daten gruppieren und Summe sowie Durchschnitt berechnen

Python SELF DE
Level 28 , Lektion 0
Verfügbar

1. Einführung in die Daten-Gruppierung

Das Prinzip der Daten-Gruppierung

Im echten Leben gruppieren wir oft Objekte anhand bestimmter Merkmale: Bücher mit Büchern, Gemüse mit Gemüse, Menschen mit Menschen (du weißt schon, was ich meine). In der Programmierung funktioniert das ähnlich. Daten-Gruppierung ermöglicht es uns, große Datenmengen in kleinere, leichter handhabbare Teile aufzuteilen, um diese dann zu analysieren.

In pandas wird dafür die Methode groupby verwendet, die es ermöglicht, Daten in Gruppen zu unterteilen und verschiedene Operationen auf jede von ihnen auszuführen. Zum Beispiel kannst du Verkäufe nach Abteilungen eines Geschäfts gruppieren und den Gesamtumsatz in jeder Abteilung berechnen.

Hier ein Beispiel, wie das aussehen könnte:

Python

import pandas as pd

# Erstellen eines DataFrame mit Verkaufsinformationen
data = {'Abteilung': ['Lebensmittel', 'Technik', 'Lebensmittel', 'Bücher', 'Technik'],
        'Umsatz': [100, 200, 150, 50, 300]}

df = pd.DataFrame(data)

# Gruppieren der Daten nach Abteilungen und Summieren der Umsätze
gruppe = df.groupby('Abteilung')['Umsatz'].sum()
print(gruppe)

Beispielanwendungen der Gruppierung

Gruppierungen sind besonders nützlich, wenn du Daten zwischen verschiedenen Kategorien vergleichen möchtest. Zum Beispiel, wenn du in der Personalabteilung arbeitest und das Durchschnittsgehalt in verschiedenen Abteilungen eines Unternehmens herausfinden möchtest, oder wenn du im Marketing tätig bist und wissen willst, in welchem Monat es die meisten Verkäufe eines Produktes gab. Solche Aufgaben werden durch die Gruppierungsfunktionen von pandas stark vereinfacht.

2. Berechnung von Aggregatfunktionen

Einführung in Aggregatfunktionen

Aggregatfunktionen sind spezielle Funktionen, die auf eine Gruppe von Daten angewendet werden und einen einzelnen Wert zurückgeben. Die bekanntesten davon sind sum (Summe), mean (Durchschnitt) und count (Elementanzahl). Sie ermöglichen es, eine große Menge an Informationen auf einfachere und verständlichere Metriken zu reduzieren.

Verwendung von Aggregatfunktionen

Wir haben bereits gesehen, wie man die Summe berechnet. Schauen wir uns nun an, wie man den Durchschnitt und die Anzahl der Verkäufe in jeder Abteilung berechnen kann.

Python

# Berechnung des durchschnittlichen Umsatzes pro Abteilung
durchschnitt = df.groupby('Abteilung')['Umsatz'].mean()
print(durchschnitt)

# Anzahl der Verkäufe pro Abteilung berechnen
anzahl = df.groupby('Abteilung')['Umsatz'].count()
print(anzahl)

Beispiele für Aggregatberechnungen

Angenommen, du hast Daten über die Website-Besuche von Nutzern und möchtest verstehen, wie viele Leute durchschnittlich an jedem Wochentag die Website besuchen. Das ist eine klassische Aufgabe für Gruppierungen und die Verwendung der Funktion mean.

Python

data = {'Tag': ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Mi', 'Di'],
        'Besuche': [120, 150, 170, 160, 180, 300, 220]}

df = pd.DataFrame(data)

# Durchschnittliche Besuche pro Tag berechnen
durchschnitt_besuche = df.groupby('Tag')['Besuche'].mean()
print(durchschnitt_besuche)

3. Praxisübung

Übung zur Daten-Gruppierung und Aggregatberechnung

Stellen wir uns vor, du hast eine Datenmenge zu Verkäufen. Die Aufgabe: Gruppiere sie nach Kategorien und berechne die Gesamtsummen der Verkäufe, den durchschnittlichen Auftragswert und die Anzahl der Bestellungen in jeder Kategorie. Das hilft dir herauszufinden, welche Kategorien die meiste Gewinnspanne generieren und wo sich potenzielle "Goldadern" verstecken.

Python

data = {
    'Kategorie': ['Elektronik', 'Kleidung', 'Elektronik', 'Bücher', 'Bücher', 'Kleidung'],
    'Bestellwert': [250, 100, 150, 200, 500, 300]
}

df = pd.DataFrame(data)

# Gesamte Verkäufe nach Kategorie berechnen
summe = df.groupby('Kategorie')['Bestellwert'].sum()
print(summe)

# Durchschnittlicher Auftragswert nach Kategorie berechnen
durchschnittswert = df.groupby('Kategorie')['Bestellwert'].mean()
print(durchschnittswert)

# Anzahl der Bestellungen nach Kategorie berechnen
anzahl_bestellungen = df.groupby('Kategorie')['Bestellwert'].count()
print(anzahl_bestellungen)

Diskussion der Gruppierungsergebnisse und Datenanalyse

Nachdem die Aufgabe zur Gruppierung von Daten und Berechnung von Aggregaten abgeschlossen ist, lohnt es sich, die erhaltenen Daten zu analysieren. Du könntest beispielsweise feststellen, dass die Kategorie "Bücher" den höchsten Bestellwert hat, dank einer kleinen, aber großen Bestellung. Oder dass "Kleidung" die meisten Bestellungen hat, der durchschnittliche Bestellwert jedoch geringer ist als bei "Elektronik".

Solche Analysen können helfen, fundierte Geschäftsentscheidungen zu treffen, wie beispielsweise den Fokus auf die Erhöhung des durchschnittlichen Bestellwerts in der Kategorie zu legen, die die meisten Bestellungen, aber niedrigere Durchschnittswerte hat.

4. Fehler und Besonderheiten

Beim Arbeiten mit Gruppierungen ist einer der häufigsten Fehler, die runden Klammern bei der Verwendung von Aggregatfunktionen zu vergessen. Zum Beispiel, df.groupby('Kategorie').sum() anstelle von df.groupby('Kategorie')['Bestellwert'].sum(). Außerdem treten manchmal Probleme mit fehlenden Daten auf. Pandas bietet praktische Methoden zum Umgang mit fehlenden Werten, wie fillna(), mit dem fehlende Werte durch angegebene ersetzt werden können, um Verzerrungen in den Berechnungen zu vermeiden.

Achte außerdem darauf, dass die Datentypen korrekt sind. Manchmal können Spalten mit Zahlen als Zeichenketten gelesen werden, was bei Aggregationen zu Fehlern führt.

Wenn du dich tiefer mit der Arbeit in pandas und den Gruppierungsmethoden auseinandersetzen möchtest, schaue dir die offizielle Dokumentation von pandas an, um mehr Details und Beispiele zu erhalten.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION