Я искал группу, используя условия и нашел много сообщений об этом. Например: Панды: условные групповые вычисления
Однако я не смог найти ни одного, где условие накладывается на самого себя. В моем случае я хотел бы получить среднее значение (или подсчет или любую другую формулу в этом отношении), но единственное, что я не смог найти, это отфильтровать набор данных по динамическому условию.
Чтобы проиллюстрировать это, это краткий набор данных:
ID | Seq | Total
1 | 1 | 1
1 | 2 | 2
1 | 3 | 3
2 | 1 | 1
2 | 2 | 2
2 | 3 | 1
Если я хочу получить среднее значение, сгруппированное по ID, но с дополнительным условием, что для каждой записи в группе должны вычисляться только те, у которых Seq меньше. Это должно быть результатом
ID | Seq | Total | x
1 | 1 | 1 | 1 <-- mean of 1
1 | 2 | 2 | 1.5 <-- mean of 1 and 2
1 | 3 | 3 | 2 <-- mean of 1,2 and 3
2 | 1 | 1 | 1 <-- mean of 1
2 | 2 | 2 | 1.5 <-- mean of 1 and 2
2 | 3 | 1 | 1.33 < mean of 1, 2 and 1
Любая помощь будет оценена!