PySpark:DataFrame - 将结构转换为数组

PySpark: DataFrame - Convert Struct to Array

我有一个结构如下的数据框:

root
 |-- index: long (nullable = true)
 |-- text: string (nullable = true)
 |-- topicDistribution: struct (nullable = true)
 |    |-- type: long (nullable = true)
 |    |-- values: array (nullable = true)
 |    |    |-- element: double (containsNull = true)
 |-- wiki_index: string (nullable = true)

我需要将其更改为:

root
 |-- index: long (nullable = true)
 |-- text: string (nullable = true)
 |-- topicDistribution: array (nullable = true)
 |    |--  element: double (containsNull = true)
 |-- wiki_index: string (nullable = true)

请问我该怎么做?

非常感谢。

我想你正在寻找

df.withColumn("topicDistribution", col("topicDistribution").getField("values"))