Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Despivote un DataFrame de formato ancho a formato largo, dejando opcionalmente las columnas de identificador establecidas. Esta es la inversa a groupBy(...).pivot(...).agg(...), excepto para la agregación, que no se puede invertir.
Agregado en Databricks Runtime 11.1
Sintaxis
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 | Descripción |
|---|---|---|
ids |
str, Columna, tupla, lista | Columnas que se van a usar como identificadores. Puede ser un nombre de columna o columna, o una lista o tupla para varias columnas. |
values |
str, Columna, tupla, lista, opcional | Columnas que se van a despivotar. Puede ser un nombre de columna o columna, o una lista o tupla para varias columnas. Si se especifica, no debe estar vacío. Si no se especifica, usa todas las columnas que no están establecidas como ids. |
variableColumnName |
str | Nombre de la columna de variable. |
valueColumnName |
str | Nombre de la columna de valor. |
Devoluciones
DataFrame: DataFrame sin dinamizar.
Notas
Soporta Spark Connect.
Ejemplos
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|
# +---+------+----+