python总和日期+;天
我有一个数据框,其中有一列自1900年以来的日期。我需要将格式更改为Y%m%d。为此,我创建了一个列datetime.date(1900,1,1),尝试将天数相加 我收到这个错误: TypeError:+:'numpy.ndarray'和不支持的操作数类型 “TimedeltaIndex” 这是我的代码: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
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'))