在pyspark sql中,可以使用filter()
函数来过滤同一列中的多个条件。filter()
函数接受一个表达式作为参数,该表达式用于指定过滤条件。
以下是一个示例代码,演示如何过滤同一列pyspark sql中的多个条件:
from pyspark.sql import SparkSession
# 创建SparkSession对象
spark = SparkSession.builder.getOrCreate()
# 创建示例数据集
data = [("Alice", 25), ("Bob", 30), ("Charlie", 35), ("Alice", 40), ("Bob", 45)]
df = spark.createDataFrame(data, ["Name", "Age"])
# 过滤同一列中的多个条件
filtered_df = df.filter((df.Name == "Alice") | (df.Name == "Bob"))
# 显示过滤结果
filtered_df.show()
在上述代码中,我们使用filter()
函数来过滤Name
列中等于"Alice"或"Bob"的记录。|
操作符用于指定多个条件的逻辑或关系。
输出结果为:
+-----+---+
| Name|Age|
+-----+---+
|Alice| 25|
| Bob| 30|
|Alice| 40|
| Bob| 45|
+-----+---+
这样就实现了对同一列中的多个条件进行过滤。
对于pyspark sql中的多个条件过滤,可以使用以下方法:
|
、&
)将多个条件组合起来,通过filter()
函数进行过滤。isin()
函数来过滤多个值,例如df.filter(df.Name.isin(["Alice", "Bob"]))
。like()
函数来进行模糊匹配,例如df.filter(df.Name.like("A%"))
可以过滤以"A"开头的记录。以上是对如何过滤同一列pyspark sql中的多个条件的解答。希望对您有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云