我有一个具有单行和多列的Dataframe。我想把它转换成多行。我在stackoverflow上发现了一个类似的问题。
这个问题回答了如何在scala中实现,但我想在pyspark中实现这一点。我试图在pyspark中复制代码,但没能做到。
我无法将scala中的以下代码转换为python:
import org.apache.spark.sql.Column
var ColumnsAndValues: Array[Column] = df.columns.flatMap { c => {Array(lit(c), col(c))}}
val df2 = df1.withColumn("myMap", map(ColumnsAndValues: _*))
1条答案
按热度按时间hlswsv351#
在Pypark中,您可以使用
create_map
函数创建Map列。还有一份清单itertools.chain
要获得scala平面图的等效值: