unpivot

Batalkan pivot DataFrame dari format lebar ke format panjang, secara opsional meninggalkan kumpulan kolom pengidentifikasi. Ini adalah sebaliknya ke groupBy(...).pivot(...).agg(...), kecuali untuk agregasi, yang tidak dapat dibalik.

Ditambahkan dalam Databricks Runtime 11.1

Sintaksis

unpivot(ids: Union["ColumnOrName", List["ColumnOrName"], Tuple["ColumnOrName", ...]], values: Optional[Union["ColumnOrName", List["ColumnOrName"], Tuple["ColumnOrName", ...]]], variableColumnName: str, valueColumnName: str)

Parameter-parameternya

Parameter Tipe Deskripsi
ids str, Kolom, tuple, daftar Kolom yang akan digunakan sebagai pengidentifikasi. Bisa berupa satu nama kolom atau kolom, atau daftar atau tuple untuk beberapa kolom.
values str, Kolom, tuple, daftar, opsional Kolom untuk dilepas pivotnya. Bisa berupa satu nama kolom atau kolom, atau daftar atau tuple untuk beberapa kolom. Jika ditentukan, tidak boleh kosong. Jika tidak ditentukan, menggunakan semua kolom yang tidak ditetapkan sebagai ids.
variableColumnName str Nama kolom variabel.
valueColumnName str Nama kolom nilai.

Pengembalian Barang

DataFrame: DataFrame yang Tidak Dipivot.

Catatan

Mendukung Spark Connect.

Examples

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|
# +---+------+----+