📅  最后修改于: 2023-12-03 15:26:43.543000             🧑  作者: Mango
在Pyspark中,我们有多种方法来检查DataFrame中的列是否包含null值。本文介绍了其中使用isNull()函数和结合for-loop循环来检查的方法。
isNull()函数返回一个BooleanType值,表示该列的每个元素是否为null值。我们可以使用该函数来检查列中是否包含null值,并使用pyspark.sql.functions.col()来指定需要检查的列名。
以下是一个示例DataFrame:
from pyspark.sql.functions import *
from pyspark.sql.types import *
df = spark.createDataFrame([(None, 4),(3, 5),(None, 6)], StructType([StructField("a", IntegerType()),StructField("b", IntegerType())]))
df.show()
输出:
+----+---+
| a| b|
+----+---+
|null| 4|
| 3| 5|
|null| 6|
+----+---+
我们可以使用isNull()函数和col()函数来检查DataFrame中的所有列是否包含空值:
for col_name in df.columns:
null_count = df.filter(col(col_name).isNull()).count()
print("{} has {} null values".format(col_name, null_count))
输出:
a has 2 null values
b has 0 null values
我们可以使用for-loop循环遍历每个列,并使用isNull()函数来检查该列是否包含null值。以下是一个演示代码:
for col_name in df.columns:
null_count = df.filter(df[col_name].isNull()).count()
print("{} has {} null values".format(col_name, null_count))
输出:
a has 2 null values
b has 0 null values
使用isNull()函数和for-loop循环是检查Pyspark DataFrame中所有列是否包含null值的两种有效方法。这些方法都很容易实现并且可以适用于数据集较大的情况。