在 PySpark 中,可以使用 isNull()
或 isNotNull()
函数来检查特定列中的空值,并使用 count()
函数来计算空值的数量。
以下是一个示例代码,展示如何计数特定列中的空值:
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, sum
# 创建 SparkSession
spark = SparkSession.builder.appName("CountNullValues").getOrCreate()
# 创建一个示例 DataFrame
data = [(1, "Alice", None), (2, "Bob", "Engineer"), (3, None, "Doctor"), (4, "David", None)]
columns = ["id", "name", "occupation"]
df = spark.createDataFrame(data, columns)
# 计算特定列(例如 "occupation")中的空值数量
null_count = df.filter(col("occupation").isNull()).count()
print(f"Null values in 'occupation' column: {null_count}")
# 或者使用 sum 和 isNull 函数来计算空值数量
null_count_sum = df.select(sum(col("occupation").isNull().cast("int"))).collect()[0][0]
print(f"Null values in 'occupation' column using sum: {null_count_sum}")
isNull()
函数时,确保列的数据类型正确。通过上述方法和注意事项,可以有效地在 PySpark 中计数特定列的空值,并解决相关问题。
领取专属 10元无门槛券
手把手带您无忧上云