#python #pandas #dataframe #time #cumulative-sum
Вопрос:
У меня есть набор данных с продажами на одного клиента в месяц. У меня есть как поле даты (например, июнь 2018 года), так и «счетчик месяцев», который дает каждому месяцу прогрессивное число (например, если данные начинаются в январе 2018 года, январь 2018 года равен «1», декабрь 2018 года — «12», а январь 2019 года — «13»). Пожалуйста, посмотрите на изображение, первые 4 столбца-это образец данных, которые у меня есть.
Я хотел бы для каждого месяца и каждого клиента суммировать продажи за предыдущие 6 месяцев и за следующие 6 месяцев, как в последних 2 столбцах на прикрепленном изображении. Например: для месяца 1 и клиента «Джон» я хотел бы суммировать продажи за месяц 2,3,4,5,6,7, только глядя на «Джона», это будет «Продажи за следующие 6 месяцев» для Джона в 1 месяце. Обратная логика продаж за последние 6 месяцев.
Я попытался создать цикл for и создать некоторые функции, но мне не удалось создать ничего похожего на то, что мне нужно.
Комментарии:
1. Используйте
groupby
тогдаrolling
. Пожалуйста, поместите свои данные в виде текста , а не в виде изображения.2. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.