📜  Pyspark – 基于多种条件过滤数据框(1)

📅  最后修改于: 2023-12-03 14:45:52.634000             🧑  作者: Mango

Pyspark – 基于多种条件过滤数据框

在PySpark中,我们可以使用多种条件对数据框进行过滤。在本文中,我们将介绍在PySpark中如何使用多种条件进行数据框过滤。我们将使用PySpark的其中一个模块,即pyspark.sql.functions来使用多种过滤条件。

1. 导入模块

要使用pyspark.sql.functions模块,我们需要首先导入模块。以下是导入模块的代码片段:

from pyspark.sql.functions import *
2. 读取数据框

在本文中,我们将使用一个示例数据集来说明如何使用多种条件进行数据框过滤。我们将使用以下代码片段来读取数据框:

df = spark.read.csv("data.csv", header=True, inferSchema=True)

这将读取一个名为data.csv的CSV文件,并将其存储在PySpark数据框中。

3. 定义过滤条件

在PySpark中,我们可以使用多种条件来过滤数据框。以下是一些常用的过滤条件:

3.1 相等操作符

相等操作符用于检查数据框中的列是否等于给定值。以下是相等操作符的使用示例:

df.filter(col("age") == 25).show()
3.2 大于操作符

大于操作符用于检查数据框中的列是否大于给定值。以下是大于操作符的使用示例:

df.filter(col("age") > 25).show()
3.3 小于操作符

小于操作符用于检查数据框中的列是否小于给定值。以下是小于操作符的使用示例:

df.filter(col("age") < 25).show()
3.4 大于等于操作符

大于等于操作符用于检查数据框中的列是否大于等于给定值。以下是大于等于操作符的使用示例:

df.filter(col("age") >= 25).show()
3.5 小于等于操作符

小于等于操作符用于检查数据框中的列是否小于等于给定值。以下是小于等于操作符的使用示例:

df.filter(col("age") <= 25).show()
3.6 与操作符

与操作符用于将多个条件组合在一起。以下是与操作符的使用示例:

df.filter((col("age") > 25) & (col("gender") == "M")).show()
3.7 或操作符

或操作符用于将多个条件组合在一起。以下是或操作符的使用示例:

df.filter((col("age") > 25) | (col("gender") == "M")).show()
4. 完整示例

以下是一个完整的示例代码片段,它演示了如何使用多个条件过滤数据框:

from pyspark.sql.functions import *

df = spark.read.csv("data.csv", header=True, inferSchema=True)

# 等于操作符
df.filter(col("age") == 25).show()

# 大于操作符
df.filter(col("age") > 25).show()

# 小于操作符
df.filter(col("age") < 25).show()

# 大于等于操作符
df.filter(col("age") >= 25).show()

# 小于等于操作符
df.filter(col("age") <= 25).show()

# 与操作符
df.filter((col("age") > 25) & (col("gender") == "M")).show()

# 或操作符
df.filter((col("age") > 25) | (col("gender") == "M")).show()
5. 结论

在PySpark中,我们可以使用多种条件对数据框进行过滤。在本文中,我们探讨了如何使用多种条件进行数据框过滤。我们使用了pyspark.sql.functions模块来使用多种过滤条件。