// 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")