PySpark 根据列的值添加日期字段的月份

PySpark Add Months to Date Field Based on vlaue of column

我有一个包含日期列和整数列的数据框,我想将基于整数列的月份添加到日期列。我尝试了以下操作,但出现错误:

from pyspark.sql import functions as f
withColumn('future', f.add_months('cohort', col('period')))

其中 'cohort' 是我的日期列,period 是一个整数。我收到以下错误:

TypeError: Column is not iterable

使用 expr 将列作为 add_months 函数的第二个参数传递:

df.withColumn('future', F.expr("add_months(cohort, period)"))