假设我们有一个简单的数据框:
from pyspark.sql.types import *
schema = StructType([
StructField('id', LongType(), False),
StructField('name', StringType(), False),
StructField('count', LongType(), True),
])
df = spark.createDataFrame([(1,'Alice',None), (2,'Bob',1)], schema)
问题是如何检测空值?我尝试了以下方法:
df.where(df.count == None).show()
df.where(df.count is 'null').show()
df.where(df.count == 'null').show()
导致错误:
condition should be string or Column
我知道以下工作:
df.where("count is null").show()
但是有没有办法在没有完整字符串的情况下实现?即df.count
...
答案 0 :(得分:1)
您可以使用Spark Functions
from pyspark.sql import functions as F
df.where(F.isnull(F.col("count"))).show()
答案 1 :(得分:1)
另一种方法是使用filter
api
from pyspark.sql import functions as F
df.filter(F.isnull("count")).show()