首页 > 解决方案 > 使用 pyspark 创建一列空数组

问题描述

我想向现有数据框添加一个包含空数组/列表的列,如下所示:

col1 col2
1 [ ]
2 [ ]
3 [ ]

稍后填写。

我尝试了以下方法:

df = df.withColumn("col2", F.array(None))

或者先创建一个空列:

df= df.withColumn("empty_col", F.lit(None).cast(T.StringType()))
df= df.withColumn("col2", F.array(F.col("empty_col")))

但是最新的给出了一个包含空字符串的数组,而不是空字符串

编辑:

它适用于:

df = df.withColumn("col2", F.array().cast("array<string>"))

标签: python-3.xpyspark

解决方案


只需None在您的第一种方法中删除,所以

df = df.withColumn("col2", F.array())

推荐阅读