如何转置以下PySpark数据帧
以下是pyspark数据帧
+----+------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----------------+--------+------+
|srab|srsbtp|avgm1|avgm2|avgm3|avgm4|avgm4|avgm6|avgm7|avgm8|avgm9| avgm10| avgm11|avgm12|
+----+------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----------------+--------+------+
|2389| D| null| null| null| null| null| null| null| null| null| null| null| null|
|2389| C| null| null| null| null| null| null| null| null| null|54674.1935483871|156820.0| null|
+----+------+-----+-----+-----+-----+-----+-----+-----+-----+-----+----------------+--------+------+
我想将上面的dataframe转换成下表
期望输出:
srab month D C
2389 avgm1 null null
2389 avgm2 null null
2389 avgm3 null null
2389 avgm4 null null
2389 avgm5 null null
2389 avgm6 null null
2389 avgm7 null null
2389 avgm8 null null
2389 avgm9 null null
2389 avgm10 null 54674.19355
2389 avgm11 null 156820
2389 avgm12 null null
在Spark SQL中,您可以使用
union all
和条件聚合取消pivot/pivot:首先我们可以
stack
将avgm
列转换为行,然后我们可以pivot
将srsbtp
行转换为列相关问题 更多 >
编程相关推荐