使列都为Null Pyspark DataFrame



我想让列列表全部为null。这些列中可能有值,也可能没有值。理想情况下,我正在尝试清除列中的数据。

这就是我目前尝试的:

null_cols = ['a', 'b', 'c']
for cols in null_cols:
df = (
df.withColumn(cols, F.when(F.col(cols).isNotNull(), F.lit(None)))
)

有什么想法吗?

您不需要在这里有when语句,因为您不在乎列中是否已经有数据,只需用None覆盖即可。只做

null_cols = ['a', 'b', 'c']
for col in null_cols:
df = df.withColumn(col, F.lit(None))

当然,这些列必须是可以为null的,我在这里假设这一点。

最新更新