データフレームをワイド形式から長い形式にピボット解除し、必要に応じて識別子列を設定したままにします。 これは、集計を除き、 groupBy(...).pivot(...).agg(...)の逆であり、元に戻すことはできません。
Databricks Runtime 11.1 で追加されました
構文
unpivot(ids: Union["ColumnOrName", List["ColumnOrName"], Tuple["ColumnOrName", ...]], values: Optional[Union["ColumnOrName", List["ColumnOrName"], Tuple["ColumnOrName", ...]]], variableColumnName: str, valueColumnName: str)
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
ids |
str、Column、tuple、list | 識別子として使用する列。 1 つの列または列名、または複数の列のリストまたはタプルを指定できます。 |
values |
str、Column、tuple、list、optional | ピボット解除する列。 1 つの列または列名、または複数の列のリストまたはタプルを指定できます。 指定する場合は、空にしないでください。 指定しない場合は、 idsとして設定されていないすべての列を使用します。 |
variableColumnName |
str | 変数列の名前。 |
valueColumnName |
str | 値列の名前。 |
返品
DataFrame: ピボット解除されたデータフレーム。
メモ
Spark Connect をサポートします。
例示
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|
# +---+------+----+