TypeError 将带有 dtype int 的 Series 传递给 dateutil.relativedelta

TypeError passing Series with dtype int to dateutil.relativedelta

我正在尝试使用 dateutil.relativedelta.relativedeltaint 类型的 pandas 系列添加到 datetime 系列。

df.loc[:,'calc_eli_date'] = (
    datetime.datetime(df['pol_eff_date'])
    + relativedelta(years=df['frt_elig_year'])
)

df['pol_eff_date']datetime64[ns] 类型

df['frt_elig_year']int

但是我得到以下错误:

TypeError: cannot convert the series to class 'int' 

dateutil.relativedata.relativedata 构造函数只接受日期时间和整数参数 - 不接受数组或 pandas 对象。

请尝试 pd.to_timedelta

df['calc_eli_date'] = (
    df['pol_eff_date'] + pd.to_timedelta(df['frt_elig_year'], unit='Y')
)