Pyspark在将数据框行转换为字典时保留字段顺序

时间:2019-12-16 12:11:07

标签: python dataframe apache-spark pyspark

我有一个数据框df,其中包含以下数据:

Name        Value     Code
a           1         1
b           2         1
c           3         2
d           4         2

我想将此数据帧转换为字典。我尝试使用asDict():

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

,它给出以下输出:

[{'Code': 1, 'Name': u'a', 'Value': 1}, {'Code': 1, 'Name': u'b', 'Value': 2}, {'Code': 2, 'Name': u'c', 'Value': 3}, {'Code': 2, 'Name': u'd', 'Value': 4}]

此处对字段进行了排序。但是我想保留字段的顺序。

我的输出应如下所示:

[{'Name': u'a', 'Value': 1,'Code': 1}, {'Name': u'b', 'Value': 2,'Code': 1}, {''Name': u'c', 'Value': 3,Code': 2}, {'Name': u'd', 'Value': 4,'Code': 2}]

除了使用asDict()方法以外,还有其他方法可以实现这一点吗?

1 个答案:

答案 0 :(得分:0)

在python中,app.get("/")没有任何顺序概念。您需要为此使用dict。你可以做这样的事情

OrderedDict