📜  检查 pyspark 行中的空值 - Python (1)

📅  最后修改于: 2023-12-03 15:26:43.652000             🧑  作者: Mango

检查 pyspark 行中的空值 - Python

如果你使用 PySpark 在分布式或并行计算环境中处理数据,你可能需要快速检查行中是否存在空值并进行相应的处理。

以下是一些可以帮助你检查 PySpark 行中空值的代码片段:

1.使用isNull()函数检查空值
from pyspark.sql.functions import isNull

# 创建一个 SparkSession
spark = SparkSession.builder.appName('Checking Null Values').getOrCreate()

# 读取数据并创建 Spark 数据框
df = spark.read.csv("/path/to/csv", header=True, inferSchema=True)

# 使用 isNull() 函数检查每一列中是否存在空值
for c in df.columns:
    if (df.filter((df[c].isNull())).count() > 0):
        print(f"Column {c} has null values")

这段代码使用 isNull() 函数检查每一列是否存在空值。如果有空值,它将输出哪一列存在空值。

2. 使用dropna()函数删除空值
from pyspark.sql.functions import isnan
from pyspark.sql.functions import when
from pyspark.sql.functions import col

# 创建一个 SparkSession
spark = SparkSession.builder.appName('Removing Null Values').getOrCreate()

# 读取数据并创建 Spark 数据框
df = spark.read.csv("/path/to/csv", header=True, inferSchema=True)

# 删除包含空值的行,可以使用dropna()函数
df = df.dropna()

# 确保数据集不包含任何空值
if (df.count() > 0):
    print("No null values found!")

这段代码使用 dropna() 函数删除包含空值的行。如果数据集中不再存在空值,它将输出 "No null values found!"。

在 PySpark 中检查和处理空值非常容易,因为 Spark 为分布式计算提供了简单而强大的函数和工具。