在sparkDataframe的不同行上应用不同的过滤器

r55awzrz  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(395)

我有一个Dataframe,它有5列cola,colb,country,start\u time,end\u time。我需要在做了下面的处理之后,从现有的df中形成一个新的df

If df.country == US then we have to do df.filter(start_time < todays date)

  For remaining countries we have to do df.filter(end_time < todays date)
x8goxv8g

x8goxv8g1#

您可以通过应用两个过滤器来实现这一点,首先是国家,然后是日期

df.filter(((f.col('country')=='US') & (f.col('start_time')<datetime.datetime.now())) |
          ((f.col('country')!='US') & (f.col('end_time')<datetime.datetime.now())))

相关问题