Skip to content

Wie man Pandas DataFrame in eine Liste umwandelt?

Als Data Scientist können Sie auf Situationen stoßen, in denen Sie einen Pandas DataFrame in eine Liste umwandeln müssen. Glücklicherweise ist dies mithilfe der Funktion tolist() recht einfach zu erreichen. In diesem Artikel erklären wir, wie man einen DataFrame mithilfe dieser Methode in eine Liste umwandelt. Wir werden auch erklären, wie man eine Spalte in eine Liste umwandelt, wie man eine verschachtelte Liste erstellt und einige schnelle Beispiele geben.

Möchten Sie schnell Datenvisualisierungen in Python erstellen?

PyGWalker ist ein Open-Source-Python-Projekt, das den Workflow der Datenanalyse und -visualisierung in Jupyter Notebook-basierten Umgebungen beschleunigen kann.

PyGWalker (opens in a new tab) verwandelt Ihr Pandas Dataframe (oder Polars Dataframe) in eine visuelle Benutzeroberfläche, in der Sie Variablen per Drag & Drop ziehen und ablegen können, um Grafiken einfach zu erstellen. Verwenden Sie einfach den folgenden Code:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Sie können PyGWalker jetzt mit diesen Online-Notebooks ausführen:

Und vergessen Sie nicht, uns auf GitHub mit einem ⭐️ zu versehen!

PyGWalker in Kaggle Notebook ausführen (opens in a new tab)PyGWalker in Google Colab ausführen (opens in a new tab)PyGWalker auf GitHub mit einem ⭐️ versehen (opens in a new tab)
PyGWalker in Kaggle Notebook ausführen (opens in a new tab)PyGWalker in Google Colab ausführen (opens in a new tab)PyGWalker in Google Colab ausführen (opens in a new tab)

DataFrame in eine Liste umwandeln

Die Funktion tolist() ist eine integrierte Methode in Pandas, die einen DataFrame in eine Liste umwandelt. Sie rufen diese Funktion einfach auf Ihrem DataFrame auf und sie gibt eine Liste zurück.

import pandas as pd
 
# erstelle einen Beispiel-DataFrame
df = pd.DataFrame({'numbers': [1, 2, 3], 'letters': ['a', 'b', 'c']})
 
# DataFrame in eine Liste umwandeln
list_from_df = df.values.tolist()
print(list_from_df)

Dieser Code gibt Folgendes aus:

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

Wie Sie sehen können, gibt die Funktion tolist() eine Liste von Listen zurück, wobei jede innere Liste einer Zeile im DataFrame entspricht. Die Werte sind nach Spalten geordnet und jeder Wert ist vom Typ, den Pandas aus den Werten in der Spalte ableitet.

Spalte in eine Liste umwandeln

Es gibt auch Situationen, in denen Sie nur eine spezifische Spalte eines DataFrames in eine Liste umwandeln möchten. So geht's:

import pandas as pd
 
# erstelle einen Beispiel-DataFrame
df = pd.DataFrame({'numbers': [1, 2, 3], 'letters': ['a', 'b', 'c']})
 
# 'numbers'-Spalte in eine Liste umwandeln
list_from_column = df['numbers'].tolist()
print(list_from_column)

Dieser Code gibt Folgendes aus:

[1, 2, 3]

Wie Sie sehen können, wird die Funktion tolist() auf eine bestimmte Spalte angewendet und sie gibt eine Liste mit nur den Werten aus dieser Spalte zurück.

Eine verschachtelte Liste erstellen

In einigen Situationen müssen Sie möglicherweise eine verschachtelte Liste aus einem DataFrame erstellen. Zum Beispiel möchten Sie möglicherweise eine Liste von Tupeln für jede Zeile anstelle einer Liste von Listen haben. So geht's:

import pandas as pd
 
# erstelle einen Beispiel-DataFrame
df = pd.DataFrame({'numbers': [1, 2, 3], 'letters': ['a', 'b', 'c']})
 
# erstelle eine verschachtelte Liste
nested_list = [tuple(x) for x in df.to_records(index=False)]
print(nested_list)

Dieser Code gibt Folgendes aus:

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

Wie Sie sehen können, haben wir eine List Comprehension verwendet, um eine Liste von Tupeln aus dem DataFrame zu erstellen. Dies kann nützlich sein, wenn Sie Ihre Daten an eine Funktion übergeben müssen, die eine bestimmte Datenstruktur erwartet.

Schnelle Beispiele

Hier sind ein paar schnelle Beispiele zur Konvertierung eines DataFrames in eine Liste:

import pandas as pd
 
# erstelle einen Beispiel-DataFrame
df = pd.DataFrame({'numbers': [1, 2, 3], 'letters': ['a', 'b', 'c']})
 
# DataFrame in eine Liste umwandeln (Methode 1)
list_from_df1 = df.values.tolist()
 
# DataFrame in eine Liste umwandeln (Methode 2)
list_from_df2 = [list(x) for x in df.values]
 
# 'numbers'-Spalte in eine Liste umwandeln
list_from_column = df['numbers'].tolist()
 
# eine verschachtelte Liste erstellen
nested_list = [tuple(x) for x in df.to_records(index=False)]

Im ersten Beispiel haben wir die tolist()-Funktion verwendet, um den DataFrame in eine Liste von Listen umzuwandeln.

Im zweiten Beispiel haben wir eine List Comprehension verwendet, um dasselbe Ergebnis zu erzielen.

Im dritten Beispiel haben wir die Funktion tolist() auf eine bestimmte Spalte angewendet, um sie in eine Liste umzuwandeln.

Und im vierten Beispiel haben wir eine List Comprehension verwendet, um eine verschachtelte Liste von Tupeln zu erstellen.

Fazit

Die Umwandlung eines Pandas DataFrame in eine Liste ist eine häufige Aufgabe in der Datenwissenschaft. Glücklicherweise ist es auch ziemlich einfach mit der tolist()-Funktion. Egal ob Sie den gesamten DataFrame in eine Liste umwandeln möchten, eine bestimmte Spalte in eine Liste oder eine verschachtelte Liste erstellen möchten, diese Funktion deckt alles ab. Mit den in diesem Artikel bereitgestellten Beispielen können Sie diese Aufgabe schnell und einfach in Ihren eigenen Projekten erledigen.