如何在PySpark DataFrame中按指定日期条件过滤数据
你代码出错的核心原因是用了逻辑与运算符&,要求同一行的Month同时等于两个不同的字符串,不可能有行满足这个条件,自然返回空结果。你需要用逻辑或|来匹配满足任意一个条件的行。
两种可行的实现方案如下:
方案1:直接修改逻辑运算符
from pyspark.sql.functions import col df = df.filter((col('Month') == '07/01/2021') | (col('Month') == '0/01/2021')) display(df)
方案2:用isin方法简化多值匹配
后续如果要新增需要匹配的月份,只需要修改列表内容即可,代码更易维护:
from pyspark.sql.functions import col target_month_list = ['07/01/2021', '0/01/2021'] df = df.filter(col('Month').isin(target_month_list)) display(df)
内容的提问来源于stack exchange,提问作者user175025
相关产品推荐
相关产品推荐

