Я хотел бы получить среднее значение и максимум на определенное время в будущем каждого ряда. Мой фрейм данных имеет столбцы datetime
и cost
.
Вот как я получаю прошлое:
df.rolling('5d', on='datetime')['cost'].mean()
Прекрасно работает, но мне нужно сделать то же самое и в будущем.
Я нашел этот вопрос: Панда скользящее окно означает в будущем
Но это действительно обходной путь, так как он смещает ряды. (это то, что сдвиг делает правильно? или он сдвигается во времени, если вы используете время?)
Мои данные имеют нерегулярное время в каждой строке. Если я перенесу несколько строк, я смогу получить данные по неделям в будущем, а не по нескольким дням (или часам).
Есть ли более надежный способ, который чисто работает от даты?
Я подумал, что это может сработать, мне кажется интуитивно понятным:
df.rolling('-3d', on='datetime')['cost'].mean() # is this what shift(-3) actaully attempts to do?
Это не сработало.
Полагаю, если я впаду в отчаяние, я мог бы сделать «обратный» столбец даты и времени и использовать его, но это непристойно.