Как изменить дату и время в функции в Python - PullRequest
0 голосов
/ 31 октября 2019

Исходный код был показан ниже.

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 ')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...