类型错误将dtype为int的Series传给dateutil.relativedelta。

问题描述 投票:0回答:1

我想用 dateutil.relativedelta.relativedelta 添加 int 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' 
python-3.x pandas python-dateutil
1个回答
1
投票

日期util.relativedata.relativedata.relativedata。 构造函数只接受datetime和整数参数,不接受数组或pandas对象。

试试 pd.to_timedelta 而不是。

df['calc_eli_date'] = (
    df['pol_eff_date'] + pd.to_timedelta(df['frt_elig_year'], unit='Y')
)
© www.soinside.com 2019 - 2024. All rights reserved.