【问题标题】:Pyspark filter dataframe by a comparison between date and string datatypePyspark 通过日期和字符串数据类型之间的比较过滤数据帧
【发布时间】:2015-10-02 17:10:30
【问题描述】:

我在 pyspark 中有一个数据框,其结构如下:

DataFrame[Urlaubdate: string, Vacationdate: date, Datensatz: string, Jobname: string]

现在,我想通过比较vacationdate 和urlaubdate 来过滤数据框,不幸的是它们有不同的数据类型。我想过滤假期日期大于 Urlaubdate 的行。 你知道怎么做吗?

【问题讨论】:

    标签: python dataframe pyspark spark-dataframe


    【解决方案1】:

    我认为在这种情况下,您必须使用用户定义的函数,如下所示:

    from pyspark.sql.functions import udf
    from pyspark.sql.types import BooleanType
    
    def compare(urlaubdate, vacationdate):
        # do your comparison here (cast types if necessary)
        # return True or False
    
    # define a udf out of your function
    compare_udf = udf(compare, BooleanType())
    
    # filter your dataframe based on it
    df_filtered = df.filter(compare_udf(df.urlaubdate, df.vacationdate))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-16
      • 2022-01-12
      • 2018-05-03
      • 2017-03-16
      • 2021-04-10
      • 2021-04-29
      • 1970-01-01
      相关资源
      最近更新 更多