Gerne beraten wir Sie auch telefonisch & geben Ihnen eine kostenfreie persönliche Auskunft zu Ihrem Projekt.

X

Python Pandas Tutorial und Python Matplotlib: Das perfekte Team für Data Analytics

In diesem Python Pandas Tutorial möchten wir Interessierten eine Einführung in die bekannten Pakete Python Pandas und Python Matplotlib geben. Beide Pakete haben zentrale Bedeutung im Rahmen von Data Analytics bzw. bei der Anwendung von Machine Learning Algorithmen mittels Python.

Der Artikel reiht sich ein in unser Python Tutorial und baut auf den in diesem Blog gezeigten ersten Schritten auf. Im Sinne eines besseren Verständnisses haben uns bewusst dazu entschieden, auch dieses Python Tutorial deutsch zu halten.

Lassen Sie uns Ihre Anforderungen wissen & wir erstellen Ihnen innerhalb weniger Stunden ein kostenfreies Angebot.


Jetzt unverbindlich anfragen

Der folgende Artikel stellt Python Pandas und Python Matplotlib vor und geht der Frage nach: „Was kann man mit Python machen?“

  • Konkret schauen wir uns zunächst Python Pandas an, das als das Werkzeug für Datenverarbeitung schlechthin gilt.
  • Darauf aufbauend beschäftigen wir uns mit den Möglichkeiten des schnellen Erstellens von Grafiken und die Interaktion zwischen Pandas und Python Matplotlib.

Für anschauliche Beispiele wurde das Datenset „StudentsPerformance“ von Kaggle verwendet.

Sie möchten noch weitere Tipps und gezielte Unterstützung zu Python Pandas und Python Matplotlib? – Dann wenden Sie sich hierzu an uns für eine professionelle Beratung rund um Python Programmierung. Wir freuen uns über Ihre unverbindliche Anfrage.

Was kann man mit Python machen? – Daten verarbeiten!

Die Kernkompetenz von Pandas sind Datenverarbeitung und Datenanalyse. Pandas ist dabei außerordentlich effizient und erweitert die Python Sprache um weitere benötigte Befehle. Die eingeführte Syntax ähnelt in vielerlei Hinsicht der Datenbanksprache SQL und auch den Dataframes, die man aus der Programmiersprache R kennt.

Pandas bedient sich dabei Strukturen, die durch das wichtige Python Paket Numpy eingeführt werden. Folglich beginnt dieses Python Pandas Tutorial mit dem Import dieser beiden Pakete in der für Python typischen Weise:

import numpy as np
import pandas as pd

Wenn vorher die Pakete installiert worden sind, dann sollte dieser Import fehlerfrei laufen. Andernfalls müssen die Pakete vorab installiert werden. Diesem Thema wird sich demnächst ein weiteres Tutorial in unserer Blogserie widmen.

Herzstück von Python Pandas: Der Dataframe

In Pandas werden Daten in sogenannten Dataframes gespeichert. Ein Dataframe ist eine tabellarische Auftragung zugehöriger Daten. Klassischerweise stehen in den Reihen der Tabelle die Einzelmessungen und in den Spalten die festgehaltenen Werte einer Messung. Nachfolgend werden wir einen Dataframe aus drei klassischen Python-Listen erstellen.

Zunächst erstellen wir die Listen mit Dummy-Data und danach fügen wir sie in einem Dictionary zusammen.

namen = ["Tobi", "Maria", "Steffen", "Helena", "Birgit"]
ergebnisse = np.random.rand(10)
daten = pd.date_range("20211001", periods=10)
combined = {"Name":np.tile(namen, 2), "Ergebnis":ergebnisse, "Datum":daten}

Der Befehl np.tile() erstellt ein Numpy Array, welches zweimal aus der Namensliste besteht, da jede erdachte Person zweimal getestet wurde. Mit dem Befehl np.random.rand(10) erstellen wir ein Array mit 10 Zufallsmessungen. Weiters erstellt np.data_range(„20211001“, periods=10) 10 Datumsangaben zu den jeweiligen Messungen.

df = pd.DataFrame(dictionary)
print(df)

NameErgebnisDatum
0Tobi0.98327901.10.2021
1Maria0.99851102.10.2021
2Steffen0.92428203.10.2021
3Helena0.88104504.10.2021
4Birgit0.25352105.10.2021
5Tobi0.19979606.10.2021
6Maria0.98469107.10.2021
7Steffen0.10918508.10.2021
8Helena0.83314709.10.2021
9Birgit0.76603610.10.2021

Obiger Befehl erstellt also aus dem Dictionary den Dataframe. Jede der Listen ist nun eine sogenannte Pandas Series, also eine Spalte im Dataframe. Außerdem wurde ein Index erzeugt, welcher von 0 (erste Reihe) bis 9 (letzte Reihe bei zehn Einträgen) reicht. Mit dem print() Befehl können wir uns den Dataframe sowie die Typen der enthaltenen Daten ansehen.

print(df.dtypes)

Nameobject
Ergebnisfloat64
Datumdatetime64[ns]
dtype:object

Python Pandas Tutorial: Daten einlesen

Zufällig erstellte Daten sind allerdings nicht besonders realistisch. Pandas bringt zum Glück Methoden mit, mit denen .csv Dateien eingelesen werden können. Auf die entsprechende Datei muss im Befehl verwiesen werden. Ebenso gibt es Möglichkeiten, beispielsweise dateien aus Excel oder SPSS einzulesen.

df = pd.read_csv("StudentsPerformance.csv")
df.head()

genderrace/ethnityparental level of educationlunchtest preparation coursemath scorereading scorewriting score
0femalegroup Bbachelor’s degreestandardnone727274
1femalegroup Csome collegestandardcompleted699088
2femalegroup Bmaster’s degreestandardnone909593
3malegroup Aassociate’s degreefree/reducednone475744
4malegroup Csome collegestandardnone767875

Der Befehl df.head() zeigt die ersten fünf Reihen des Dataframes an. Das Äquivalent dazu ist der df.tail(), der die letzten fünf Zeilen ausgibt. Das funktioniert besonders gut in Jupyter Notebooks, aber auch in einer Konsole lassen sich die Befehle mit geschachteltem print(df.head()) ausführen.

Weitere Methoden

Wir wollen ein paar weitere Methoden in diesem Python Tutorial Deutsch vorstellen. Der Befehl df.describe() erstellt einen Dataframe, der zu allen numerischen Spalten verschiedene Kennzahlen errechnet und darstellt. Sehr praktisch und übersichtlich.

df.describe()

math scorereading scorewriting score
count100010001000
mean66,08969,16968,054
std15,1630814,60019215,195657
min01710
25%575957,75
50%667069
75%777979
max100100100

Weiters und mithilfe von eckigen Klammern, wie etwa im Befehl df [„math score“], kann man eine Spalte des Dataframes ansteuern und anzeigen lassen oder durchsuchen. Natürlich lassen sich Dataframes auch zeilenweise ansprechen:

df.loc[0]
df.loc[35:38]

Der erste Befehl zeigt die ersten Zeile des Dataframes, während der Befehl df.loc[35:38] ein sogenannter Splice Befehl ist. Python interpretiert diesen Befehl so, dass alle Zeilen von 35 bis 38 angezeigt werden. Splicing funktioniert übrigens mit allen Listen in Python!

Aber Vorsicht: Mit df.loc[] wird auf den Index des Dataframes zugegriffen, welcher nicht notwendigerweise aus Zahlen bestehen muss.

Mithilfe des Befehls df.at[39, „lunch“] lässt sich zu guter Letzt beispielsweise noch der Wert in Zeile 39 und der Spalte „lunch“ abrufen.

Python Matplotlib: Dataframe visualisieren

Zunächst wollen wir dem Dataframe noch eine weitere Spalte hinzufügen, welche den Mittelwert aus allen drei Scores eines Schülers berechnet. Wir nennen die Spalte mean. Der entsprechende Befehl dazu lautet: df.mean().

df["mean"] = df.mean(axis=1)

Im abschließenden Teil zu diesem Python Pandas Tutorial soll nun die Spalte mean für die ersten 50 Schüler visualisiert werden. Dazu benötigen wir das Paket Python Matplotlib. Der Import erfolgt durch folgenden Befehl:

import matplotlib.pyplot as plt

Anschließend plotten wir das Histogramm der Mittelwerte.

plt.figure()
df["mean"].plot.hist(bins=12, alpha=0.5)
plt.xlabel("Mean Grade")
plt.tight_layout()
plt.savefig("pandas_beispiel.png")
plt.show()

Zur Erklärung: Die Befehle plt.figure() und plt.show() eröffnen eine neue Instanz einer Python Matplotlib Visualisierung und zeigen die fertige Darstellung. Daher umfassen sie den Code

Mit df[„mean“].plot.hist() wird in der geöffneten Instanz ein Histogramm erstellt, welchem wir mit plt.xlabel() noch eine x-Achsenbeschriftung hinzufügen .

Schließlich hilft uns der Befehl plt.tight_layout(), eine kompakte Darstellung zu erstellen, in der sich keine Elemente überlappen. Er sollte immer am Schluss verwendet werden.

Und mit plt.savefig(„Dateiname.png“) wird die finale Visualisierung nun noch gespeichert.

Ausblick

In diesem Python Pandas Tutorial haben wir die Grundlagen der mächtigen Bibliothek Pandas beleuchtet. Wir haben einen Dataframe aus zufälligen Daten erstellt und darüber hinaus auch aus einer .csv-Datei geladen. Anschließend haben wir noch gezeigt, wie effektiv Pandas und Python Matplotlib zusammenarbeiten.

Die Frage „Was kann man mit Python machen?“ ist damit aber natürlich noch nicht erschöpfend beantwortet. Wir wollen Ihnen in zukünftigen Blogartikel noch weitere Einblicke in diese faszinierende Programmiersprache bieten. Im nächsten Tutorial zu Jupyter Python werden Sie erfahren, wie man einfach und schnell in Jupyter Notebooks programmieren kann.

Parallel freuen wir uns, ihnen bei Bedarf mit einer professionellen Python Programmierung zur Seite zu stehen. Wir freuen uns über Ihre unverbindliche Kontaktanfrage.

Pandas User Guide (auf englisch)

Jetzt Anrufen Jetzt anfragen