如何将 python 列表添加到 pyspark 列? [复制]
Posted
技术标签:
【中文标题】如何将 python 列表添加到 pyspark 列? [复制]【英文标题】:How to add python list to a pyspark column? [duplicate] 【发布时间】:2021-11-03 16:28:30 【问题描述】:我有一个 python 列表说l=["abc is good", "xyz is bad"]
我已经有一个 pyspark 数据框,其中包含字符串数据类型的列“A”和“B”,如下所示
A | B |
---|---|
One | Two |
现在我需要新列 C
可以保存列表 l
更改后数据框应如下所示
A | B | C |
---|---|---|
One | Two | ["abc is good", "xyz is bad"] |
sample code:
df=spark.createDataFrame([("one","two")],["A","B"])
【问题讨论】:
【参考方案1】:文字函数不支持将 python 列表作为数组类型。 您需要先将列表元素连接到字符串中,并将其用作 pyspark sql 中 split 函数中的文字值,如下所示:
from pyspark.sql import functions as F
your_list = ["abc is good", "xyz is bad"]
df = df.withColumn("C",F.split(F.lit(','.join(your_list)),","))
【讨论】:
以上是关于如何将 python 列表添加到 pyspark 列? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 pyspark 从 python 列表中选择随机文本值?
将标准 python 键值字典列表转换为 pyspark 数据框
有没有更快的方法将一列 pyspark 数据框转换为 python 列表? (Collect() 非常慢)