猿问

PySpark-将DF列合并为命名的StructType

我想将PySpark数据框的多列合并到的一列中StructType。


假设我有一个像这样的数据框:


columns = ['id', 'dogs', 'cats']

vals = [(1, 2, 0),(2, 0, 1)]

df = sqlContext.createDataFrame(vals, columns)

我希望得到的数据框类似于此(不是像它实际打印的那样,而是让您了解如果您还不熟悉StructType的意思):


id | animals

1  | dogs=2, cats=0

2  | dogs=0, cats=1

现在,我可以完成以下任务:


StructType(

    [StructField('dogs', IntegerType(), True),

    [StructField('cats', IntegerType(), True)

)

udf但是,在我的代码末尾,我宁愿只使用一个函数来完成它。如果不存在,我会感到惊讶。


撒科打诨
浏览 182回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答