pyspark.sql.DataFrame.melt

DataFrame.melt(ids: Union[ColumnOrName, List[ColumnOrName], Tuple[ColumnOrName, …]], values: Union[ColumnOrName, List[ColumnOrName], Tuple[ColumnOrName, …], None], variableColumnName: str, valueColumnName: str) → DataFrame[source]

Unpivot a DataFrame from wide format to long format, optionally leaving identifier columns set. This is the reverse to groupBy(…).pivot(…).agg(…), except for the aggregation, which cannot be reversed.

melt() is an alias for unpivot().

New in version 3.4.0.

Parameters
idsstr, Column, tuple, list, optional

Column(s) to use as identifiers. Can be a single column or column name, or a list or tuple for multiple columns.

valuesstr, Column, tuple, list, optional

Column(s) to unpivot. Can be a single column or column name, or a list or tuple for multiple columns. If not specified or empty, use all columns that are not set as ids.

variableColumnNamestr

Name of the variable column.

valueColumnNamestr

Name of the value column.

Returns
DataFrame

Unpivoted DataFrame.

Notes

Supports Spark Connect.