首页 > 解决方案 > 如何从日期列中减去 5 年以在 python 数据框中创建新列?

问题描述

我试过这段代码:

df['ExperienceDate'] = (df['IssueDate']) - relativedelta(years=5)

它显示一个错误:TypeError: unsupported operand type(s) for -: 'DatetimeIndex' and 'relativedelta'

标签: pythondataframedatetime

解决方案


你可以检查一个类似的问题。您不能将 relativedelta 对象与 timedelta 进行比较。并且没有一年这么大的时间增量

保持相同模块 datetime 的解决方案:

diff=timedelta(days=(5*365)) # convert the number of year into a number of day
df['ExperienceDate']= df['IssueDate']-diff # then substract

结果 :

    IssueDate   ExperienceDate
0   1995-02-01  1990-02-02

推荐阅读