首页 > 解决方案 > 将空值替换/转换为pyspark中的空数组

问题描述

我有 Pyspark 数据框:

id |  column_1       | column_2    | column_3
--------------------------------------------
1  |    ["12"]       |   null     |    ["67"]
--------------------------------------------
2  |    null         |   ["78"]    |   ["90"]
--------------------------------------------
3  |    ["""]        |  ["93"]     |   ["56"]
--------------------------------------------
4  |    ["100"]      |   ["78"]    |   ["90"]
--------------------------------------------

我需要将nullcolumn1 的所有值转换为空数组[]

id |  column_1       | column_2    | column_3
--------------------------------------------
1  |    ["12"]       |   null     |    ["67"]
--------------------------------------------
2  |    []           |   ["78"]    |   ["90"]
--------------------------------------------
3  |    ["""]        |  ["93"]     |   ["56"]
--------------------------------------------
4  |    ["100"]      |   ["78"]    |   ["90"]
--------------------------------------------

使用此代码,但它对我不起作用。

df.withColumn("column_1", coalesce(column_1, array().cast("array<string>")))

感谢你的帮助!

标签: pysparkapache-spark-sql

解决方案


与子集一起使用fillna()

参考https://stackoverflow.com/a/45070181


推荐阅读