Skip to content

How to Convert Pandas DataFrame to List?

Updated on

Die Umwandlung eines Pandas DataFrame in eine Python-Liste ist eine häufige Aufgabe bei Data Cleaning, Export, Feature Engineering und der Vorbereitung von Daten für APIs. Zwar wird tolist() noch oft verwendet, aber Pandas bietet inzwischen modernere und explizitere Ansätze – wie to_numpy() und to_dict() –, die häufig klarer und performanter sind.

In diesem aktualisierten Leitfaden geht es um:

  • Konvertieren eines DataFrame in eine Liste von Listen
  • Konvertieren einer einzelnen Spalte in eine Liste
  • Erstellen von verschachtelten Listen oder Tupeln
  • Moderne Alternativen wie Liste von Dicts (häufig für JSON/API-Ausgaben genutzt)

⚡ Bonus: Visualisiere deine Daten sofort

Du möchtest dein DataFrame visuell erkunden, ohne Plot-Code zu schreiben?

PyGWalker ist ein Open-Source-Python-Tool, das dein Pandas- oder Polars-DataFrame in eine interaktive, Tableau-ähnliche Oberfläche innerhalb von Jupyter Notebook verwandelt.

Einfach installieren und ausführen:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
Run in Kaggle (opens in a new tab)Run in Google Colab (opens in a new tab)⭐ GitHub (opens in a new tab)

🧩 1. Gesamtes DataFrame in eine Liste umwandeln (Liste von Listen)

Am gebräuchlichsten ist es, jede Zeile in eine Liste zu konvertieren.

✔ Empfehlung (2025): df.to_numpy().tolist()

import pandas as pd
 
df = pd.DataFrame({'numbers': [1, 2, 3], 'letters': ['a', 'b', 'c']})
list_from_df = df.to_numpy().tolist()
print(list_from_df)

Ausgabe:

[[1, 'a'], [2, 'b'], [3, 'c']]

Warum to_numpy() gegenüber df.values bevorzugen?

  • df.values ist älter und kann sich bei bestimmten dtypes inkonsistent verhalten
  • to_numpy() ist die moderne, explizite Methode, die von Pandas empfohlen wird

🧩 2. Eine einzelne Spalte in eine Liste umwandeln

Verwende Series.tolist() – schnell und übersichtlich.

list_from_column = df["numbers"].tolist()
print(list_from_column)

Ausgabe:

[1, 2, 3]

🧩 3. Verschachtelte Listen oder Tupel erzeugen (Liste von Tupeln)

Wenn du Tupel brauchst (z. B. für SQL-Inserts oder API-Inputs):

nested_list = [tuple(row) for row in df.to_numpy()]
print(nested_list)

Ausgabe:

[(1, 'a'), (2, 'b'), (3, 'c')]

Alternative mit to_records():

nested_list = [tuple(x) for x in df.to_records(index=False)]

⭐ Bonus: In Liste von Dicts umwandeln (ideal für JSON / APIs)

Viele praktische Anwendungen erwarten JSON-ähnliche Objekte.

list_of_dicts = df.to_dict(orient="records")
print(list_of_dicts)

Ausgabe:

[
  {"numbers": 1, "letters": "a"},
  {"numbers": 2, "letters": "b"},
  {"numbers": 3, "letters": "c"}
]

Dies ist das häufigste moderne Format für:

  • APIs
  • Export von Features für Machine Learning
  • Schreiben in JSON-Dateien
  • Übergeben strukturierter Daten zwischen Systemen

📌 Schnelle Beispiele (Zusammenfassung)

# Liste von Listen
df.to_numpy().tolist()
 
# Verwendung von df.values (älter)
df.values.tolist()
 
# Spalte → Liste
df["numbers"].tolist()
 
# Liste von Tupeln
[tuple(x) for x in df.to_numpy()]
 
# Liste von Dicts (JSON-ready)
df.to_dict("records")

✅ Fazit

Die Umwandlung eines Pandas DataFrame in eine Liste ist unkompliziert, aber die richtige Form hängt von deinem Anwendungsfall ab:

ZielBeste Methode
Zeilen als Listen darstellendf.to_numpy().tolist()
Einzelne Spalte konvertierendf[col].tolist()
Tupel verwenden (SQL/API)[tuple(x) for x in df.to_numpy()]
JSON-fertige Objektedf.to_dict("records")

Mit diesen modernen Techniken kannst du dein DataFrame sauber und effizient transformieren – egal ob du Daten für Modellierung, Visualisierung oder Export vorbereitest.