У меня возникают проблемы с иллюстрацией моей проблемы с формой, в которой находятся данные, без каких-либо усложнений. Так что терпите меня, поскольку я хотел бы начать со следующего снимка экрана, который предназначен только для объяснения проблемы (иначе данные не в этой форме):
Я хотел бы идентифицировать последние 14 дней с числом> 0 во всех ячейках (иначе общая строка имеет значение больше 0). Это будет включать все дни, кроме дней 5 и 12 (выделены красным). Затем я хотел бы суммировать по бинам по горизонтали за эти 14 дней (точнее, по сумме всех дней, ожидаемых для 5 и 12, по бинам) с целью в конечном итоге вычислить среднее значение за 14 дней по числу бинов.
Обратите внимание, что приведенный выше пример относится к одной «дорожке», где мои данные имеют> 10000. Пример также иллюстрирует только сегодняшний день как 16-й. Но я хотел бы применять эту логику к каждому дню в наборе данных. То есть на 20-й день (наряду с любой другой датой) он просматривает последние 14 дней со значением для всех бинов, а затем использует этот диапазон данных для агрегирования по бинам. Вот пример скриншота с данными:
Простой пример использования данных в том виде, в котором они структурированы, только с 3 ячейками, 1 полосой и 3 точками / датой просмотра данных:
Lane Date Bin KG
AMS-ORD 2018-08-26 3 10
AMS-ORD 2018-08-29 1 25
AMS-ORD 2018-08-30 2 30
AMS-ORD 2018-09-03 2 20
AMS-ORD 2018-09-04 1 40
Обратите внимание, KG здесь сумма. Опять же, это на один день (или сегодня), но я бы хотел, чтобы каждая дата в моем наборе данных следовала одной и той же логике. Вывод будет выглядеть следующим образом:
Lane Date Bin KG Average
AMS-ORD 2018-09-04 1 40 13.33
AMS-ORD 2018-09-04 2 50 16.67
AMS-ORD 2018-09-04 3 0 -
Я возился с .rolling (14) .mean (), .tail () и некоторыми другими. У меня проблема с указанием правильного диапазона дат для правильной агрегации бинов.