Skip to main content

Row class

A row in DataFrame. The fields in it can be accessed:

  • like attributes (row.key)
  • like dictionary values (row[key])

key in row will search through row keys.

Row can be used to create a row object by using named arguments. It is not allowed to omit a named argument to represent that the value is None or missing. This should be explicitly set to None in this case.

Changed in Databricks Runtime 7.4: Rows created from named arguments no longer have field names sorted alphabetically and will be ordered in the position as entered.

Syntax​

Python
from pyspark.sql import Row

Row(tuple)

Parameters​

Parameter

Type

Description

tuple

tuple

The row elements

Parameter

Type

Description

tuple

tuple

The row elements

Methods​

Method

Description

asDict(recursive)

Returns the Row as Dict[str, Any].

Method

Description

asDict(recursive)

Returns the Row as Dict[str, Any].

Examples​

Using named arguments​

Python
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

Creating Row classes​

Row can also be used to create another Row-like class, then it could be used to create Row objects:

Python
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)

This form can also be used to create rows as tuple values, with unnamed fields:

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