Freigeben über


Row-Klasse

Eine Zeile in DataFrame. Auf die darin gespeicherten Felder kann zugegriffen werden:

  • wie Attribute (row.key)
  • wie Wörterbuchwerte (row[key])

key in row durchsucht Zeilentasten.

Zeile kann verwendet werden, um ein Zeilenobjekt mithilfe von benannten Argumenten zu erstellen. Es ist nicht zulässig, ein benanntes Argument auszulassen, um darzustellen, dass der Wert "None" ist oder fehlt. Dies sollte in diesem Fall explizit auf "Keine" festgelegt werden.

Geändert in Databricks Runtime 7.4: Zeilen, die aus benannten Argumenten erstellt wurden, weisen keine alphabetische Sortierung auf und werden in der Position wie eingegeben sortiert.

Syntax

from pyspark.sql import Row

Row(tuple)

Parameter

Parameter Typ Beschreibung
tuple Tupel Die Zeilenelemente

Methodik

Methode Beschreibung
asDict(recursive) Gibt die Zeile als Dict[str, Any].

Beispiele

Verwenden von benannten Argumenten

from pyspark.sql import Row
row = Row(name="Alice", age=11)
row
# Row(name='Alice', age=11)
row['name'], row['age']
# ('Alice', 11)
row.name, row.age
# ('Alice', 11)
'name' in row
# True
'wrong_key' in row
# False

Erstellen von Zeilenklassen

Zeile kann auch verwendet werden, um eine andere Zeile-ähnliche Klasse zu erstellen, dann könnte sie zum Erstellen von Row-Objekten verwendet werden:

Person = Row("name", "age")
Person
# <Row('name', 'age')>
'name' in Person
# True
'wrong_key' in Person
# False
Person("Alice", 11)
# Row(name='Alice', age=11)

Dieses Formular kann auch verwendet werden, um Zeilen als Tupelwerte mit nicht benannten Feldern zu erstellen:

row1 = Row("Alice", 11)
row2 = Row(name="Alice", age=11)
row1 == row2
# True