Исходный код был показан ниже.
def fn(row):
d1 = row.sampletime
d2 = d1 + pd.Timedelta(nDays - 1, 'D')
return pd.Series(df2.loc[d1:d2].values.reshape((1, -1),
order='F').squeeze(), index=cols)
df1 = df1.join(df1.apply(fn, axis=1))
df1
Я хочу изменить дату sampletime
на 3 дня раньше, поэтому я добавил еще 2 строки кода, как показано ниже:
def fn(row):
m = datetime.timedelta(days = 3) #new line
df1['sampletime'] = df1['sampletime'] - m #new line
d1 = row.sampletime
d2 = d1 + pd.Timedelta(nDays - 1, 'D')
return pd.Series(df2.loc[d1:d2].values.reshape((1, -1),
order='F').squeeze(), index=cols)
df1 = df1.join(df1.apply(fn, axis=1))
df1
Я получил ошибку:
ValueError: столбцы перекрываются, но суффикс не указан: индекс (['maxtemp1', 'maxtemp2', 'maxtemp3', 'mintemp1', 'mintemp2', 'mintemp3',' rainfall1 ',' rainfall2 ',' rainfall3 ',' wind1 ',' wind2 ',' wind3 ',' day_week1 ',' day_week2 ',' day_week3 '], dtype =' object ')