我有表名“ data”,它有5列,每列包含一些空值。 我想对每列的空值进行计数,如何为该结果编写代码!它很容易计算一列,但是我如何编写代码来计算表的每一列。
样本:
+----------------+----------------+--------+---------+-------------+
| 2 |3 |4 | 5 |6 |
+----------------+----------------+--------+---------+-------------+
|null |1 | null |null |null |
|null |null | null |null |asdc |
|null |23 | 23 |null |null |
|null |null | null |23 |41 |
|24 |3 | 35 |null |null |
|null |null | null | 1 |wef |
|null |32 | 54 |null |45 |
|null |null | null |123 |null |
|w411 |31 | 12 |null |null |
|null |null | null |11 |null |
+----------------+----------------+--------+---------+-------------+
如何对每列进行空计数
我有40个表,这些表包含5或6或10列,每列都包含一些空值,我只想对表的每一列进行空计数,这是对空值进行计数的最佳方法!
谢谢!
答案 0 :(得分:2)
如果您不想删除空行/列,并且不需要在工作中进行任何其他计算,那么这应该适用于您:
df.select(df.columns.map(colName => {
count(when(col(colName).isNull, true)) as s"${colName}_nulls_count"
}): _*)
.show(10) // or save result somewhere