Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Převést datový rámec z širokého formátu na dlouhý formát a volitelně ponechat sloupce identifikátoru nastavené. Jedná se o opak groupBy(...).pivot(...).agg(...), s výjimkou agregace, kterou nelze vrátit zpět.
Přidáno do Databricks Runtime 11.1
Syntaxe
unpivot(ids: Union["ColumnOrName", List["ColumnOrName"], Tuple["ColumnOrName", ...]], values: Optional[Union["ColumnOrName", List["ColumnOrName"], Tuple["ColumnOrName", ...]]], variableColumnName: str, valueColumnName: str)
Parametry
| Parameter | Typ | Description |
|---|---|---|
ids |
str, Column, řazená kolekce členů, seznam | Sloupce, které se mají použít jako identifikátory. Může to být jeden sloupec nebo název sloupce nebo seznam nebo řazená kolekce členů pro více sloupců. |
values |
str, Column, řazená kolekce členů, seznam, volitelné | Sloupce, které chcete převést na řádky Může to být jeden sloupec nebo název sloupce nebo seznam nebo řazená kolekce členů pro více sloupců. Pokud je zadáno, nesmí být prázdné. Pokud není zadáno, použije všechny sloupce, které nejsou nastaveny jako ids. |
variableColumnName |
str | Název sloupce proměnné. |
valueColumnName |
str | Název sloupce hodnoty. |
Návraty
DataFrame: Nepřekontovaný datový rámec.
Poznámky
Podporuje Spark Connect.
Příklady
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|
# +---+------+----+