首页 > 解决方案 > 如何将pyspark数据框列转换为字典

问题描述

我有一个包含 2 列的数据框。

Col1: String, Col2:String.

我想创建一个像{'col1':'col2'}.

例如,下面的 csv 数据:

var1,InternalCampaignCode
var2,DownloadFileName
var3,ExternalCampaignCode

必须成为:

{'var1':'InternalCampaignCode','var2':'DownloadFileName', ...}

数据框有大约 200 条记录。

请让我知道如何实现这一目标。

标签: pythonapache-sparkpyspark

解决方案


以下应该可以解决问题:

df_as_dict = map(lambda row: row.asDict(), df.collect())

请注意,这将生成一个字典列表,其中每个字典代表 pyspark 数据帧的单个记录:

[
  {'Col1': 'var1', 'Col2': 'InternalCampaignCode'},
  {'Col1': 'var2', 'Col2': 'DownloadFileName'},
  {'Col1': 'var3', 'Col3': 'ExternalCampaignCode'},
]

推荐阅读