python - 如何从日期列中减去 5 年以在 python 数据框中创建新列?
问题描述
我试过这段代码:
df['ExperienceDate'] = (df['IssueDate']) - relativedelta(years=5)
它显示一个错误:TypeError: unsupported operand type(s) for -: 'DatetimeIndex' and 'relativedelta'
解决方案
你可以检查一个类似的问题。您不能将 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
推荐阅读
- c# - 如何让 Web 应用程序从不同的服务器提供静态文件
- php - 向 QueryBuilder 添加自定义字段时,有什么方法可以防止 Doctrine 结果嵌套实体?
- python - 如何在 Keras 中保留训练期间保存的模型列表(仅保存最佳)?
- django - Django模型中IntegerField的顺序编号
- matlab - 在 MATLAB 中生成异方差级数?
- python-3.x - 卷积神经网络的输入和输出是一个 3D 矩阵
- git - TFS 2018 将构建任务设置为仅获取存储库的子文件夹
- django - Django 模型将字段与字段进行比较
- ruby-on-rails - 如何打印包含正则表达式模式的每一行并按字母顺序排序?
- c++ - SDL 图像:无法打开图像