Приношу свои извинения, если название озадачивает, я сделаю все возможное, чтобы объяснить проблему. У меня есть пример данных, установленных здесь: Пример 1
Segment Reach OutSeg Elevation
1 1 3 50
1 2 3 74
1 3 3 87
1 4 3 53
1 5 3 97
2 1 3 16
2 2 3 14
2 3 3 31
2 4 3 35
2 5 3 27
3 1 4 193
3 2 4 176
3 3 4 158
3 4 4 154
4 1 6 21
4 2 6 45
4 3 6 42
4 4 6 22
4 5 6 22
5 1 6 10
5 2 6 21
5 3 6 14
5 4 6 16
Я хотел бы рассчитать скользящее среднее (окно ва 3) Высота вдоль каждого Сегмент число в последовательном порядке его Достигните , однако, где Сегмент имеет значение OutSeg Мне бы хотелось, чтобы скользящее среднее к конец каждого сегмента для использования значений Elevation от начала его сегмента, на который имеется ссылка (OutSeg). Например, в 1-м сегменте Reach 5 (1,5) я бы хотел, чтобы скользящее среднее учитывало значения в (1,4), (1,5) и (3,1).
Я полагаю, что для l oop может потребоваться какое-то ... Я пробовал приведенный ниже код, но он вычисляет только скользящее среднее в каждой группе:
df ["moving"] = df.groupby («Сегмент») [«Повышение»]. Transform (лямбда х: х.роллинг (3,1) df["moving"] = df.groupby("Segment")["Elevation"].transform(lambda x: x.rolling(3,1)
Заранее спасибо!