HOWTO · Pandas

Gruppierte Daten in Pandas darstellen

Dieses Tutorial zeigt, wie die Daten eines Groupby-Objekts in Pandas Python gezeichnet werden.

Auf dieser Seite

Pandas ist eine Open-Source-Datenanalysebibliothek in Python. Es bietet viele integrierte Methoden, um Operationen mit numerischen Daten durchzuführen.

groupby() ist eine der in Pandas verfügbaren Methoden, die die Daten nach bestimmten Kriterien in mehrere Gruppen aufteilt. Wir können die gruppierten Daten für eine bessere Datenvisualisierung mit Matplotlib in Python weiter darstellen.

Dieses Tutorial zeigt das Plotten der Daten einer gruppierten Daten in Pandas Python.

Zeichnen Sie gruppierte Daten mithilfe eines Balkendiagramms in Pandas

Wir haben die Schülerdaten im Pandas-Datenrahmen im folgenden Beispiel. Zunächst gruppieren wir die Daten nach Abteilungen mit der Methode groupby('Department').

Nun werden die Daten in zwei Gruppen aufgeteilt. Dann berechnen wir die in jeder Abteilung erzielten Höchstnoten mit der Funktion max() auf den gruppierten Daten.

Abschließend zeigen wir die höchste Punktzahl jeder Abteilung mit der Funktion plot() an und geben im Argument die Art der Grafik als Balkendiagramm an. Als Ausgabe erhalten wir ein Balkendiagramm, das die maximale Punktzahl jeder Abteilung zeigt.

Beispielcode:

# Python 3.x
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame(
    {
        "Name": ["Robert", "Sam", "Alia", "Jhon", "Smith"],
        "Department": ["CS", "SE", "SE", "SE", "CS"],
        "Marks": [60, 70, 59, 51, 80],
        "Age": [20, 21, 20, 22, 23],
    }
)
display(df)
df.groupby("Department")["Marks"].max().plot(kind="bar", legend=True)
plt.show()

Ausgang:

Pandas-Plot mit Balkendiagramm

Zeichnen Sie gruppierte Daten mithilfe eines Kreisdiagramms in Pandas

In diesem Beispiel haben wir die Schülerdaten mit ihren Noten in jedem Fach. Zuerst werden wir die Daten nach Namen gruppieren, die Durchschnittsnoten jedes Schülers berechnen und sie in einem Tortendiagramm darstellen.

Jede Farbe oder jeder Sektor des Tortendiagramms zeigt die Durchschnittsnoten jedes Schülers an.

Beispielcode:

# Python 3.x
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame(
    {
        "Name": ["Robert", "Robert", "Alia", "Alia", "Smith", "Smith"],
        "Subject": ["Java", "Python", "Java", "Python", "Java", "Python"],
        "Marks": [60, 70, 59, 51, 80, 70],
    }
)
display(df)
df.groupby("Name")["Marks"].mean().plot(kind="pie")
plt.show()

Ausgang:

Pandas-Plot mit Tortendiagramm