Skip to content

Pandas Cheat Sheet

Detaillierter Leitfaden zur Verwendung der Pandas-Bibliothek.

Installation von Pandas

Befehl Beschreibung
conda install pandas Der beste Weg, um Pandas zu erhalten, ist über conda
python3 -m pip install --upgrade pandas Über PyPI
pip install pandas Standard-Pip-Installation

Wichtige Abkürzungen und Paketimporte

Abkürzung Beschreibung
df Jedes Pandas-DataFrame-Objekt
s Jedes Pandas-Series-Objekt

Import-Methoden

Befehl Beschreibung
import pandas as pd Importiert Pandas mit dem Alias pd
import numpy as np Importiert Numpy mit dem Alias np

Datenauswahl

Befehl Beschreibung
df[col] Gibt eine Spalte als Series basierend auf dem Spaltennamen zurück
df[[col1, col2]] Gibt mehrere Spalten als DataFrame zurück
s.iloc[0] Wählt Daten nach Position aus
s.loc['index_one'] Wählt Daten nach Index aus
df.iloc[0,:] Gibt die erste Zeile zurück
df.iloc[0,0] Gibt das erste Element der ersten Spalte zurück

Datenbereinigung

Befehl Beschreibung
df.columns = ['a','b','c'] Benennt Spalten um
pd.isnull() Prüft auf Nullwerte in einem DataFrame; gibt ein Boolean-Array zurück
pd.notnull() Prüft auf Nicht-Nullwerte in einem DataFrame; gibt ein Boolean-Array zurück
df.dropna() Löscht alle Zeilen, die Nullwerte enthalten
df.dropna(axis=1) Löscht alle Spalten, die Nullwerte enthalten
df.dropna(axis=1, thresh=n) Löscht alle Zeilen mit weniger als n Nicht-Nullwerten
df.fillna(x) Ersetzt alle Nullwerte in einem DataFrame durch x
s.astype(float) Konvertiert den Series-Datentyp in float
s.replace(1, 'one') Ersetzt alle Werte gleich 1 durch ‘one’
s.replace([1,3], ['one', 'three']) Ersetzt 1 durch ‘one’ und 3 durch ’three’
df.rename(columns=lambda x: x + 1) Spaltennamen im Batch umbenennen
df.rename(columns={'old_name': 'new_name'}) Selektive Umbenennung von Spalten
df.set_index('column_one') Ändert die Indexspalte
df.rename(index=lambda x: x + 1) Indizes im Batch umbenennen

Importieren von Daten

Befehl Beschreibung
pd.read_csv(filename) Importiert Daten aus einer CSV-Datei
pd.read_table(filename) Importiert Daten aus einer Textdatei mit Trennzeichen
pd.read_excel(filename) Importiert Daten aus einer Excel-Datei
pd.read_sql(query, connection_object) Importiert Daten aus einer SQL-Tabelle/Datenbank
pd.read_json(json_string) Importiert Daten aus einem JSON-String
pd.read_html(url) Extrahiert Tabellen aus einer URL, einem String oder einer HTML-Datei
pd.read_clipboard() Ruft Inhalte aus der Zwischenablage ab und übergibt sie an read_table()
pd.DataFrame(dict) Importiert Daten aus einem Dictionary (Keys sind Spaltennamen, Values sind Daten)

Exportieren von Daten

Befehl Beschreibung
df.to_csv(filename) Exportiert Daten in eine CSV-Datei
df.to_excel(filename) Exportiert Daten in eine Excel-Datei
df.to_sql(table_name, connection_object) Exportiert Daten in eine SQL-Tabelle
df.to_json(filename) Exportiert Daten in eine Textdatei im JSON-Format

Datenverarbeitung: Filter, Sort und GroupBy

Befehl Beschreibung
df[df[col] > 0.5] Wählt Zeilen aus, in denen der Wert in Spalte ‘col’ > 0,5 ist
df.sort_values(col1) Sortiert Daten nach Spalte col1 (standardmäßig aufsteigend)
df.sort_values(col2, ascending=False) Sortiert Daten nach Spalte col2 in absteigender Reihenfolge
df.sort_values([col1, col2], ascending=[True, False]) Sortiert nach col1 aufsteigend, dann col2 absteigend
df.groupby(col) Gibt ein GroupBy-Objekt zurück, gruppiert nach Spalte ‘col’
df.groupby([col1, col2]) Gibt ein GroupBy-Objekt zurück, gruppiert nach mehreren Spalten
df.groupby(col1)[col2].mean() Gibt den Mittelwert von Spalte col2 für jede Gruppe in col1 zurück
df.pivot_table(index=col1, values=[col2, col3], aggfunc=max) Erstellt eine Pivot-Tabelle gruppiert nach col1, wobei das Maximum für col2 und col3 berechnet wird
df.groupby(col1).agg(np.mean) Gibt den Mittelwert für alle nach col1 gruppierten Spalten zurück
df.apply(np.mean) Wendet die Funktion np.mean auf jede Spalte an
df.apply(np.max, axis=1) Wendet die Funktion np.max auf jede Zeile an

Test-Objekte erstellen

Befehl Beschreibung
pd.DataFrame(np.random.rand(20,5)) Erstellt einen DataFrame mit 20 Zeilen und 5 Spalten aus Zufallszahlen
pd.Series(my_list) Erstellt eine Series aus einem iterierbaren Objekt my_list
df.index = pd.date_range('1900/1/30', periods=df.shape[0]) Fügt einen Datumsindex hinzu

Daten anzeigen und prüfen

Befehl Beschreibung
df.head(n) Zeigt die ersten n Zeilen eines DataFrames an
df.tail(n) Zeigt die letzten n Zeilen eines DataFrames an
df.shape Zeigt die Anzahl der Zeilen und Spalten an
df.info() Zeigt Index, Datentypen und Speicherinformationen an
df.describe() Zeigt Zusammenfassungsstatistiken für numerische Spalten an
s.value_counts(dropna=False) Zeigt eindeutige Werte und Häufigkeiten für eine Series an
df.apply(pd.Series.value_counts) Zeigt eindeutige Werte und Häufigkeiten für jede Spalte in einem DataFrame an

Zusammenführen von Daten

Befehl Beschreibung
df1.append(df2) Hängt Zeilen von df2 ans Ende von df1 an
pd.concat([df1, df2], axis=1) Hängt Spalten von df2 ans Ende von df1 an
df1.join(df2, on=col1, how='inner') SQL-ähnlicher Join zwischen Spalten von df1 und df2

Datenstatistik

Befehl Beschreibung
df.describe() Zeigt Zusammenfassungsstatistiken für numerische Spalten an
df.mean() Gibt den Mittelwert aller Spalten zurück
df.corr() Gibt den Korrelationskoeffizienten zwischen den Spalten zurück
df.count() Gibt die Anzahl der Nicht-Nullwerte in jeder Spalte zurück
df.max() Gibt den Maximalwert jeder Spalte zurück
df.min() Gibt den Minimalwert jeder Spalte zurück
df.median() Gibt den Median jeder Spalte zurück
df.std() Gibt die Standardabweichung jeder Spalte zurück