Я пытаюсь добавить новое значение столбца для каждой строки, которое должно быть средним для другого столбца, содержащего скорости, и который задается предыдущими строками (если они отсортированы) из столбца datetime, который должен удовлетворять условию операции timedelta.
В частности, каждая строка содержит дату и время. Мне нужно добавить новый столбец, который указывает среднее значение предыдущих скоростей в максимальном диапазоне 30 дней.
Я пытался использовать нарезку по местам и задавать некоторые условия для операций с временной шкалой, но это не сработало.
def add_key_columns(data):
temp_df = data
#Definimos un timedelta para la comparacion
diff = pd.Timedelta("30 days")
temp_df["week_day"] = temp_df["Date"].dt.day
temp_df["year_day"] = temp_df["Date"].dt.dayofyear
temp_df["year_week"] = temp_df["Date"].dt.weekofyear
temp_df["mean_v(n-t)"] = temp_df.loc[temp_df["Date"] - temp_df["Date"] <= diff].mean()
return temp_df
Это ошибка, которую я получаю:
ValueError: Неверное количество пропущенных предметов 11, размещение подразумевает 1