首页 > 解决方案 > pyspark 中包含空值的行数

问题描述

例如,考虑一个 pyspark 数据框

columns = ['id', 'dogs', 'cats']
vals = [(1, 2, 0),(None, 0, 1),(5,None,9)]
df=spark.createDataFrame(vals,columns)
df.show()
+----+----+----+
|  id|dogs|cats|
+----+----+----+
|   1|   2|   0|
|null|   0|   1|
|   5|null|   9|
+----+----+----+

我想编写一个代码,它返回 2 作为包含空值的行数

标签: python-3.xpyspark

解决方案


df.subtract(df.dropna()).count()

df.dropna()返回一个新的数据框,其中删除了包含 null 的任何行;EXCEPT然后从原始数据帧中减去这个数据帧(相当于 SQL ),只保留其中包含空值的行。

这显然不像您只查看单个列那样漂亮,但这是我知道在涉及所有列时执行此操作的最简单方法。


推荐阅读