【发布时间】:2017-12-18 18:04:23
【问题描述】:
我有一个具有这种结构的 Pyspark 数据框:
root
|-- Id: string (nullable = true)
|-- Q: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- pr: string (nullable = true)
| | |-- qt: double (nullable = true)
类似于:
+----+--------------------- ... --+
| Id | Q |
+----+---------------------- ... -+
| 001| [ [pr1,1.9], [pr3,2.0]...] |
| 002| [ [pr2,1.0], [pr9,3.9]...] |
| 003| [ [pr2,9.0], ... ] |
...
我希望将 Q 数组转换为列(名称 pr 值 qt)。 另外我想通过合并(添加)相同的列来避免重复的列。
+----+-----+-----+------+ ... ----+
| Id | pr1 | pr2 | pr3 | ... prn |
+----+-----+-----+------+ ... ----+
| 001| 1.9 | 0.0 | 2.0 | ... |
| 002| 0.0 | 1.0 | 0 | ... |
| 003| 0.0 | 9.0 | ... | ... |
...
我怎样才能执行这种转换? 提前谢谢你!! 朱利安。
【问题讨论】:
-
嗨,如果答案有效或者您还有其他问题,请告诉我,谢谢
-
是的 ags29,谢谢!!!