将 pyspark 数据框转换为 python 字典列表
Posted
技术标签:
【中文标题】将 pyspark 数据框转换为 python 字典列表【英文标题】:Convert pyspark dataframe into list of python dictionaries 【发布时间】:2020-11-29 12:19:06 【问题描述】:您好,我是 pyspark 的新手,我正在尝试将 pyspark.sql.dataframe 转换为字典列表。
下面是我的dataframe,类型是
+------------------+----------+------------------------+
| title|imdb_score|Worldwide_Gross(dollars)|
+------------------+----------+------------------------+
| The Eight Hundred| 7.2| 460699653|
| Bad Boys for Life| 6.6| 426505244|
| Tenet| 7.8| 334000000|
|Sonic the Hedgehog| 6.5| 308439401|
| Dolittle| 5.6| 245229088|
+------------------+----------+------------------------+
我想把它转换成:
["title":"The Eight Hundred", "imdb_score":7.2, "Worldwide_Gross(dollars)":460699653,
"title":"Bad Boys for Life", "imdb_score":6.6, "Worldwide_Gross(dollars)":426505244,
"title":"Tenet", "imdb_score":7.8, "Worldwide_Gross(dollars)":334000000,
"title":"Sonic the Hedgehog", "imdb_score":6.5, "Worldwide_Gross(dollars)":308439401,
"title":"Dolittle", "imdb_score":5.6, "Worldwide_Gross(dollars)":245229088]
我应该怎么做?提前致谢!
【问题讨论】:
【参考方案1】:您可以将每一行映射到字典中并收集结果:
df.rdd.map(lambda row: row.asDict()).collect()
【讨论】:
以上是关于将 pyspark 数据框转换为 python 字典列表的主要内容,如果未能解决你的问题,请参考以下文章
有没有更快的方法将一列 pyspark 数据框转换为 python 列表? (Collect() 非常慢)