我需要加上日期1960-01-01天,以获得真正的日期值。基于此,我尝试通过以下方式实现:
df_immigration_new = df_immigration\
.withColumn('depdate2', F.col('depdate').cast(T.IntegerType()))\
.withColumn('depdate', F.date_add(F.to_date('1960-01-01'), F.col('depdate2')))\
.show(n=1, truncate=False)
但它给了我一个例外: TypeError: Column is not iterable
.
如果我改变 F.col('depdate2')
对于整数值,它可以工作,但我不知道如何使用列而不是固定值。
1条答案
按热度按时间r7xajy2e1#
使用
F.date_add()
第一个参数应为日期,第二个参数应为整数,表示要添加到日期的天数。您可以使用sql表达式实现所需的功能:
结果: