pyspark - 将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
你能建议我怎么做吗?
解决方案
您可以使用greatest
:
import pyspark.sql.functions as F
df2 = df.withColumn('dateEnrolled', F.greatest('dateEnrolled', 'dateStarted'))
推荐阅读
- php - php mysql从一天错误中获取事件?
- c# - 在更新第 2,3..n 页上的记录后,具有分页和保留同一页面的 MVC crud 操作
- java - Login MVP with retrofit
- asp.net - Devexpress 复选框不起作用
- python - 如何在 Windows 上执行此 conda 操作
- tsql - 为什么参数@query_result_separator 不起作用
- python - 在 TensorFlow 中,如何使用索引创建条件?
- javascript - 使用socket.io(NodeJs)检测客户端是否与网络断开连接
- javascript - 如何获取进程nodejs的本地范围内的所有变量
- python - python 中的 a,b = b,a 与 C++ 中的 std::swap()