Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Despivote um DataFrame de formato wide para formato long, deixando opcionalmente as colunas de identificadores definidas. Isto é o inverso de groupBy(...).pivot(...).agg(...), exceto na agregação, que não pode ser revertida.
Adicionado no Databricks Runtime 11.1
Sintaxe
unpivot(ids: Union["ColumnOrName", List["ColumnOrName"], Tuple["ColumnOrName", ...]], values: Optional[Union["ColumnOrName", List["ColumnOrName"], Tuple["ColumnOrName", ...]]], variableColumnName: str, valueColumnName: str)
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
ids |
str, coluna, tupla, lista | Coluna(s) a usar como identificadores. Pode ser uma única coluna ou nome de coluna, ou uma lista ou tupla para várias colunas. |
values |
str, Column, tuple, list, opcional | Coluna(s) para despivar. Pode ser uma única coluna ou nome de coluna, ou uma lista ou tupla para várias colunas. Se especificado, não deve estar vazio. Se não especificado, usa todas as colunas que não estão definidas como ids. |
variableColumnName |
str | Nome da coluna da variável. |
valueColumnName |
str | Nome da coluna de valor. |
Devoluções
DataFrame: DataFrame Não Pivotado.
Notes
Suporta o Spark Connect.
Exemplos
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|
# +---+------+----+