首页 > 解决方案 > 将pyspark中的日期值替换为最多两列

问题描述

我正在使用 pyspark 3.0.1。我有一个包含以下详细信息的数据框 df

ID  Class dateEnrolled dateStarted
32   1     2016-01-09   2016-01-26
25   1     2016-01-09   2016-01-10
33   1     2016-01-16   2016-01-05

我需要替换 dateEnrolled 我最新的两个日期字段,我的数据应该看起来像

ID  Class dateEnrolled dateStarted
32   1     2016-01-26   2016-01-26
25   1     2016-01-10   2016-01-10
33   1     2016-01-16   2016-01-05

你能建议我怎么做吗?

标签: pyspark

解决方案


您可以使用greatest

import pyspark.sql.functions as F

df2 = df.withColumn('dateEnrolled', F.greatest('dateEnrolled', 'dateStarted'))

推荐阅读