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 |