Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dissociez un DataFrame d’un format large au format long, en laissant éventuellement les colonnes d’identificateur définies. Il s’agit de l’inverse, groupBy(...).pivot(...).agg(...)à l’exception de l’agrégation, qui ne peut pas être inversée.
Ajouté dans 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)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
ids |
str, Column, tuple, list | Colonnes à utiliser en tant qu’identificateurs. Il peut s’agir d’une seule colonne ou d’un nom de colonne, ou d’une liste ou d’un tuple pour plusieurs colonnes. |
values |
str, Column, tuple, list, optional | Colonne(s) à dissocier. Il peut s’agir d’une seule colonne ou d’un nom de colonne, ou d’une liste ou d’un tuple pour plusieurs colonnes. S’il est spécifié, ne doit pas être vide. Si ce n’est pas spécifié, utilise toutes les colonnes qui ne sont pas définies en tant que ids. |
variableColumnName |
str | Nom de la colonne variable. |
valueColumnName |
str | Nom de la colonne valeur. |
Retours
DataFrame: DataFrame non croisé dynamique.
Remarques
Prend en charge Spark Connect.
Exemples
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|
# +---+------+----+