draaitabel opheffen

Draai een DataFrame van brede indeling naar lange indeling op, waarbij u optioneel de id-kolommenset laat staan. Dit is het omgekeerde naar groupBy(...).pivot(...).agg(...), met uitzondering van de aggregatie, die niet kan worden omgekeerd.

Toegevoegd in Databricks Runtime 11.1

Syntaxis

unpivot(ids: Union["ColumnOrName", List["ColumnOrName"], Tuple["ColumnOrName", ...]], values: Optional[Union["ColumnOrName", List["ColumnOrName"], Tuple["ColumnOrName", ...]]], variableColumnName: str, valueColumnName: str)

Parameterwaarden

Kenmerk Typ Beschrijving
ids str, Column, tuple, list Kolom(en) die als id's moeten worden gebruikt. Kan één kolom- of kolomnaam zijn, of een lijst of tuple voor meerdere kolommen.
values str, Column, tuple, list, optional Kolom(en) om draaitabel op te heffen. Kan één kolom- of kolomnaam zijn, of een lijst of tuple voor meerdere kolommen. Indien opgegeven, mag deze niet leeg zijn. Als dit niet is opgegeven, gebruikt u alle kolommen die niet zijn ingesteld als ids.
variableColumnName str Naam van de variabelekolom.
valueColumnName str Naam van de waardekolom.

Retouren

DataFrame: Niet-draaitabel dataframe.

Aantekeningen

Ondersteunt Spark Connect.

Examples

df = spark.createDataFrame(
    [(1, 11, 1.1), (2, 12, 1.2)],
    ["id", "int", "double"],
)
df.show()
# +---+---+------+
# | id|int|double|
# +---+---+------+
# |  1| 11|   1.1|
# |  2| 12|   1.2|
# +---+---+------+

from pyspark.sql import functions as sf
df.unpivot(
    "id", ["int", "double"], "var", "val"
).sort("id", sf.desc("var")).show()
# +---+------+----+
# | id|   var| val|
# +---+------+----+
# |  1|   int|11.0|
# |  1|double| 1.1|
# |  2|   int|12.0|
# |  2|double| 1.2|
# +---+------+----+