PySpark tolist() Funktion leicht gemacht: Ein umfassender Leitfaden
Updated on
Als Datenwissenschaftler kennen Sie wahrscheinlich PySpark, ein leistungsfähiges Werkzeug zur Verarbeitung und Analyse von großen Datenmengen. PySpark ist eine Python-Bibliothek für Apache Spark, eine vereinheitlichte Analyse-Engine zur Verarbeitung großer Datenmengen. In PySpark werden DataFrames als eine wichtige Datenstruktur zur Datenverarbeitung verwendet. Eine häufige Aufgabe bei der Datenverarbeitung besteht darin, PySpark DataFrames in Python Listen umzuwandeln. In diesem Leitfaden erklären wir, wie Sie die PySpark tolist() Funktion verwenden können, um diese Aufgabe zu erledigen.
Möchten Sie schnell Data Visualization aus Python Pandas Dataframe ohne Code erstellen?
PyGWalker ist eine Python-Bibliothek für explorative Datenanalyse mit Visualisierung. PyGWalker (opens in a new tab) kann Ihren Workflow für die Datenanalyse und Datenvisualisierung in Jupyter Notebook vereinfachen, indem es Ihr Pandas DataFrame (und Polars DataFrame) in eine benutzerfreundliche Oberfläche im Tableau-Stil für visuelle Exploration umwandelt.
Was ist die PySpark tolist() Funktion?
Die tolist() Funktion ist eine PySpark SQL Funktion, die verwendet wird, um ein DataFrame in eine Python Liste umzuwandeln. Die Funktion nimmt keine Argumente entgegen und gibt eine Liste von Zeilen im DataFrame zurück. Jede Zeile im DataFrame wird als Liste von Werten dargestellt.
Wie verwendet man die PySpark tolist() Funktion?
Die Verwendung der tolist() Funktion in PySpark ist unkompliziert. Hier ist die grundlegende Syntax:
df.toPandas().values.tolist()
In dem obigen Code verwenden wir die PySpark toPandas() Funktion, um das DataFrame in ein Pandas DataFrame umzuwandeln. Anschließend verwenden wir die Pandas values.tolist() Funktion, um das Pandas DataFrame in eine Python Liste umzuwandeln.
Schauen wir uns genauer an, wie man die PySpark tolist() Funktion mit Beispielen verwendet.
Beispiel 1: Umwandlung eines PySpark DataFrames in eine Python Liste
Angenommen, wir haben das folgende PySpark DataFrame:
from pyspark.sql import SparkSession
# SparkSession erstellen
spark = SparkSession.builder.appName('PySparkTutorial').getOrCreate()
# DataFrame erstellen
data = [('Alice', 1), ('Bob', 2), ('Charlie', 3), ('David', 4)]
df = spark.createDataFrame(data, ['Name', 'Alter'])
# DataFrame anzeigen
df.show()
Ausgabe:
+-------+-----+
| Name|Alter|
+-------+-----+
| Alice| 1|
| Bob| 2|
|Charlie| 3|
| David| 4|
+-------+-----+
Um dieses DataFrame in eine Python Liste umzuwandeln, können wir die tolist() Funktion wie folgt verwenden:
df.toPandas().values.tolist()
Ausgabe:
[['Alice', 1], ['Bob', 2], ['Charlie', 3], ['David', 4]]
Beispiel 2: Umwandlung eines PySpark DataFrames mit Index in eine Python Liste
In einigen Fällen möchten Sie möglicherweise den DataFrame-Index in der Python-Liste einschließen. Hier ist ein Beispiel, das Ihnen zeigt, wie dies erreicht werden kann:
from pyspark.sql.functions import row_number
from pyspark.sql.window import Window
# DataFrame mit Index erstellen
df_index = df.withColumn("Index", row_number().over(Window.orderBy("Name")))
# DataFrame mit Index anzeigen
df_index.show()
Ausgabe:
+-------+-----+-----+
| Name|Alter|Index|
+-------+-----+-----+
| Alice| 1| 1|
| Bob| 2| 2|
|Charlie| 3| 3|
| David| 4| 4|
+-------+-----+-----+
Um dieses DataFrame in eine Python Liste umzuwandeln, die den Index enthält, können wir die to_dict() Funktion von Pandas verwenden und dann das resultierende Wörterbuch in eine Liste umwandeln:
df_index.toPandas().to_dict('records')
Ausgabe:
[{'Name': 'Alice', 'Alter': 1, 'Index': 1},
{'Name': 'Bob', 'Alter': 2, 'Index': 2},
{'Name': 'Charlie', 'Alter': 3, 'Index': 3},
{'Name': 'David', 'Alter': 4, 'Index': 4}]
Fazit
In diesem Leitfaden haben wir gelernt, wie man die PySpark tolist() Funktion verwendet, um PySpark DataFrames in Python Listen umzuwandeln. Wir haben auch Beispiele gezeigt, wie man diese Funktion mit und ohne DataFrame-Indizes verwendet. Wir hoffen, dass Ihnen dieser Leitfaden bei Ihren Datenverarbeitungsaufgaben hilfreich war, und wir ermutigen Sie, weitere PySpark-Funktionen zu erkunden, um Ihre Fähigkeiten weiter zu verbessern.
Referenzen
- Pyspark To List() Funktion (opens in a new tab)
- Pyspark: Wie man ein DataFrame in eine Liste umwandelt (opens in a new tab)
- PySpark DataFrame zu Pandas DataFrame (opens in a new tab)
Häufig gestellte Fragen
-
Wie konvertiere ich ein DataFrame in eine Liste in Python?
Um ein DataFrame in eine Liste in Python umzuwandeln, können Sie die Methode
values.tolist()
verwenden. Diese Methode gibt eine verschachtelte Liste zurück, wobei jede innere Liste eine Zeile im DataFrame darstellt. Die resultierende Liste kann für weitere Verarbeitung oder Analyse verwendet werden. -
Kann ich eine bestimmte Spalte eines DataFrames in eine Liste umwandeln?
Ja, Sie können eine bestimmte Spalte eines DataFrame in Python in eine Liste umwandeln. Verwenden Sie den Indexoperator
[]
, um auf die Spalte nach Namen zuzugreifen, und wenden Sie dann dietolist()
Methode an. Dadurch wird eine Liste mit den Werten der ausgewählten Spalte zurückgegeben. -
Ist es möglich, mehrere Spalten eines DataFrame in eine Liste umzuwandeln?
Ja, es ist möglich, mehrere Spalten eines DataFrame in Python in eine Liste umzuwandeln. Verwenden Sie den Indexoperator
[]
, um die gewünschten Spalten nach Namen auszuwählen, und wenden Sie dann dievalues.tolist()
Methode an. Dadurch wird eine verschachtelte Liste zurückgegeben, wobei jede innere Liste die Werte der ausgewählten Spalten darstellt.