📅  最后修改于: 2023-12-03 15:04:02.022000             🧑  作者: Mango
在 PySpark 中,DataFrame 是一种强大的数据结构,可以让开发者以类似于 SQL 的方式来操作和分析数据。过滤器是 DataFrame 中常用的操作之一,它允许您根据特定条件筛选数据行。
首先,让我们来创建一个示例 DataFrame,以便我们可以在其上应用过滤器操作。下面是创建 DataFrame 的示例代码:
from pyspark.sql import SparkSession
# 创建 SparkSession 对象
spark = SparkSession.builder.getOrCreate()
# 示例数据
data = [("Alice", 25), ("Bob", 30), ("Charlie", 35), ("David", 40)]
# 创建 DataFrame
df = spark.createDataFrame(data, ["Name", "Age"])
# 显示 DataFrame
df.show()
上述代码创建了一个包含姓名和年龄的 DataFrame,并显示了其内容。您可以根据自己的需要替换为自己的数据。
PySpark 提供了许多用于过滤 DataFrame 的方法。下面是几个常用的过滤器操作:
您可以使用字符串条件来过滤 DataFrame。下面的代码演示了如何筛选出年龄大于 30 岁的人:
# 过滤年龄大于 30 的人
filtered_df = df.filter("Age > 30")
# 显示过滤后的 DataFrame
filtered_df.show()
除了字符串条件外,您还可以使用 DataFrame 中的列来设置过滤条件。下面的代码展示了如何使用列条件来筛选出年龄大于 30 岁的人:
from pyspark.sql.functions import col
# 使用列条件过滤
filtered_df = df.filter(col("Age") > 30)
# 显示过滤后的 DataFrame
filtered_df.show()
您还可以组合多个过滤条件来进一步筛选 DataFrame。下面的代码展示了如何同时筛选出年龄大于 30 岁且姓名以字母 "A" 开头的人:
# 组合条件过滤
filtered_df = df.filter((col("Age") > 30) & (col("Name").startswith("A")))
# 显示过滤后的 DataFrame
filtered_df.show()
过滤器是 PySpark DataFrame 中非常常用的操作,它允许您根据条件筛选数据行。本文介绍了如何使用字符串条件和列条件来设置过滤器,并演示了如何组合多个条件进行更复杂的筛选。希望这些信息对您在 PySpark 开发中的过滤器操作有所帮助。
以上就是有关 PySpark DataFrame 过滤器的介绍,希望能对您有所启发!