python总和日期+;天

python总和日期+;天,python,pandas,python-datetime,Python,Pandas,Python Datetime,我有一个数据框,其中有一列自1900年以来的日期。我需要将格式更改为Y%m%d。为此,我创建了一个列datetime.date(1900,1,1),尝试将天数相加 我收到这个错误: TypeError:+:'numpy.ndarray'和不支持的操作数类型 “TimedeltaIndex” 这是我的代码: df_vend['creation_date'] = np.where(df_vend['creation_date'] == 0,1,df_vend['creation_date']) df

我有一个数据框,其中有一列自1900年以来的日期。我需要将格式更改为Y%m%d。为此,我创建了一个列datetime.date(1900,1,1),尝试将天数相加

我收到这个错误:

TypeError:+:'numpy.ndarray'和不支持的操作数类型 “TimedeltaIndex”

这是我的代码:

df_vend['creation_date'] = np.where(df_vend['creation_date'] == 0,1,df_vend['creation_date'])
df_vend['base_date'] = [datetime.date(2019,1,1)] * len(df_vend.creation_date)
df_vend['creation_date'] = df_vend['base_date'] + pd.to_timedelta(df_vend['creation_date'])

np.where用于更改值为0的日期。

尝试将第二行替换为有效的
df_vend['base_date']=pd.to_datetime(datetime.date(2019,1,1))
。我还有几个错误,最后的代码是(当然基准日期是1900,1,1而不是2019,1,1:
df_vend['creation_date']=np。其中(df_vend['creation_date']==0,1,df_vend['creation_date'])df vend['base_date date=pd.to_datetime(datetime.date(1900,1,1))*len(df_vend.creation_date)df vend['creation_vend_date]=df vend.]+pd.to_timedelta(df_vend['creation_date'],unit='days')
当我已经使用了datetime时,为什么有必要使用datetime.date?你不必这样做,但是你也不需要将它乘以数组的长度,因为pandas会为你播放它。你可以完全删除第2行。
df_vend['creation_date']=pd.to_datetime('1/1/1900')+pd.至_timedelta(df_vend['creation_date'))