[英]Unpivot dataframe in Pyspark with new column
我想取消旋轉看起來像這樣的 dataframe:
Col1 Col2 Val1 Val2
abc def 12 75
ghi jkl 67 86
... ... .. ..
變成這樣的東西:
Col1 Col2 NewCol Val
abc def KEY1 12
abc def KEY2 75
ghi jkl KEY1 67
ghi jkl KEY2 86
... ... .... ..
我對 python 很陌生,但我知道 pyspark 中沒有 unpivot function .. 知道我怎么能做到這一點嗎? 非常感謝!
鑒於您提供的 Dataframe,可以使用:
from pyspark.sql import functions as F
df.select(
F.col("Col1"),
F.col("Col2"),
F.explode(
F.map_from_arrays(
F.array(F.lit("key1"), F.lit("key2")),
F.array(F.col("val1"), F.col("val2"))
)
)
)
只要您保持鍵和值的順序,就可以了
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.