Spark统计DataFrame每列的缺失率

// scala 版本

import org.apache.spark.sql.functions.col

// tax_info 为一个dataframe

val columns=tax_info.columns
val cnt=tax_info.count()

// 统计每列的缺失记录数
val missing_cnt=columns.map(x=>data.select(col(x)).where(col(x).isNull).count)

// 统计每列的缺失率,并保留4位小数
val missing_rate=columns.map(x=>((data.select(col(x)).where(col(x).isNull).count.toDouble/cnt).formatted("%.4f")))

// 将列名和缺失率拼接起来,组成一个dataframe
val  
result=sc.parallelize(missing_cnt.zip(columns)).toDF("missing_rate","column_name")

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章