我正在尝试将一些PySpark数据帧行转置为列
我做了很多尝试,但似乎无法获得正确的结果。
数据框目前看起来像这样
`Expected params.LogicalResourceId to be a string`
我想要得到的情况是
ArticleID |Category |Value
1 Color Black
1 Gender Male
2 Color Green
2 Gender Female
3 Color Blue
3 Gender Male
编辑:问题在某些地方可能是相同的,但这需要在数据透视表行的第一项上进行汇总。
ArticleID |Color |Gender
1 Black Male
2 Green Female
3 Blue Male
建议的问题可能会涉及数字运算。
答案 0 :(得分:3)
使用pivot
+ import pyspark.sql.functions as f
df.groupBy('ArticleID').pivot('Category').agg(f.first('Value')).show()
+---------+-----+------+
|ArticleID|Color|Gender|
+---------+-----+------+
| 3| Blue| Male|
| 1|Black| Male|
| 2|Green|Female|
+---------+-----+------+
:
return jsonify