ID | type | value |
---|---|---|
A | car | camry |
A | price | 20000 |
B | car | tesla |
B | price | 40000 |
Example dataframe that is being streamed.
I need output to look like this. Anyone have suggestions?
ID | car | price |
---|---|---|
A | camry | 20000 |
B | tesla | 40000 |
Whats a good way to transform this? I have been researching pivoting but it requires an aggregation which is not something I need.
CodePudding user response:
You could filter the frame (df
) twice, and join
(
df.filter(df.type=="car").withColumnRenamed("value","car")
.join(
df.filter(df.type=="price").withColumnRenamed("value","price")
, on="ID"
)
.select("ID", "car", "price")
)