gpt4 book ai didi

scala - Spark scala删除仅包含空值的列

转载 作者:行者123 更新时间:2023-12-02 05:32:56 25 4
gpt4 key购买 nike

有没有办法删除 Spark DataFrame 中仅包含空值的列?(我使用的是 scala 和 Spark 1.6.2)

目前我正在这样做:

var validCols: List[String] = List()
for (col <- df_filtered.columns){
val count = df_filtered
.select(col)
.distinct
.count
println(col, count)
if (count >= 2){
validCols ++= List(col)
}
}

构建包含至少两个不同值的列列表,然后在 select() 中使用它。

谢谢!

最佳答案

我遇到了同样的问题,并且在 Java 中提出了类似的解决方案。我认为目前没有其他方法可以做到这一点。

for (String column:df.columns()){
long count = df.select(column).distinct().count();

if(count == 1 && df.select(column).first().isNullAt(0)){
df = df.drop(column);
}
}

我将删除仅包含一个不同值且第一个值为空的所有列。这样我就可以确保不会删除所有值都相同但不为空的列。

关于scala - Spark scala删除仅包含空值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39436629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com