我试过了
df.describe().filter($"summary" === "count").show
但这仅适用于整数。我尝试了一个 for 循环,如下所示:
import scala.collection.mutable.ListBuffer
var count_val = ListBuffer[Long]()
for (i<-0 to column_names.length) {
count_val += df.select(column_names(i)).where(column_names(i)+" is not null").count
}
还有其他更快的方法吗? Dataframe 的类型为 org.apache.spark.sql.DataFrame。
Usedef count(e: org.apache.spark.sql.Column): org.apache.spark.sql.Column
& 此函数将返回非空值的计数。
它将为您提供与df.describe()
相同的结果count
.
df.select(df.columns.map(c => count(col(c)).as(c)):_*).show(false)
火花2.4.2
版本
df.describe().filter($"summary" === "count").show
适用于类型string
的列。