pyspark.sql.functions.struct

pyspark.sql.functions.struct(*cols: Union[ColumnOrName, List[ColumnOrName_], Tuple[ColumnOrName_, …]]) → pyspark.sql.column.Column[source]

Creates a new struct column.

New in version 1.4.0.

Changed in version 3.4.0: Supports Spark Connect.

Parameters
colslist, set, str or Column

column names or Columns to contain in the output struct.

Returns
Column

a struct type column of given columns.

Examples

>>> df = spark.createDataFrame([("Alice", 2), ("Bob", 5)], ("name", "age"))
>>> df.select(struct('age', 'name').alias("struct")).collect()
[Row(struct=Row(age=2, name='Alice')), Row(struct=Row(age=5, name='Bob'))]
>>> df.select(struct([df.age, df.name]).alias("struct")).collect()
[Row(struct=Row(age=2, name='Alice')), Row(struct=Row(age=5, name='Bob'))]