【发布时间】:2021-06-24 15:39:38
【问题描述】:
我在数据框中有一列“CropYear”,我想将 8 个月添加到该列(即该列中的每个日期时间值 8 个月)。然后我想从“DateListed”列中减去该列。我可以自己完成其中任何一件事情,但我一生都无法弄清楚如何在不破坏代码的情况下同时完成这两件事。
df2["CropYear"] = pd.to_datetime(df2['CropYear'], format="%Y", errors='coerce')
eight_mon_rel = relativedelta(months=8)
df2["CropYear"] = df2["CropYear"] + eight_mon_rel
HA = df2.DateListed - df2.CropYear
这是数据框的屏幕截图以供参考: df2
就目前而言,我从这段代码得到的结果是
TypeError: unsupported operand type(s) for +: 'DatetimeArray' and 'relativedelta'
【问题讨论】:
-
这能回答你的问题吗? Python Pandas: TypeError: unsupported operand type(s) for +: 'datetime.time' and 'Timedelta'。具体来说,您正在尝试将
pandas.datetime添加到非熊猫relativedelta。 -
pd.Timedelta(days=243) + pd.to_datetime(['2021-06-24'])