Я пытаюсь выполнить групповую агрегацию.Мой фиктивный фрейм данных выглядит следующим образом:
print (df)
ID Industry Value 1 Value 2
0 1 Finance 0.25 99
1 1 Finance 0.50 73
2 1 Finance 0.25 53
3 1 Teaching 0.75 80
4 1 Teaching 0.25 78
5 1 Teaching 0.50 99
6 2 Finance 0.50 75
7 2 Finance 0.25 56
8 2 Finance 0.25 80
9 2 Teaching 0.50 79
10 3 Finance 0.25 61
11 3 Finance 0.75 87
12 3 Finance 0.75 97
13 3 Finance 0.25 99
14 3 Finance 0.25 76
15 3 Teaching 0.25 73
16 3 Teaching 0.75 68
17 3 Teaching 0.25 59
18 3 Teaching 0.25 60
Я хочу сгруппировать по идентификатору и отрасли и хочу создать новое поле с именем «Ожидается».Ожидаемый будет равен:
- Если это первая строка группы, Значение 1 + Значение 2
- Если это любая другая строка в группе Ожидаемое значение строки выше вэта группа минус (значение 1 * значение 2) для текущей строки, поэтому ожидаемое значение выглядит следующим образом:
Я бы хотел избежать петли, если это возможно.Любая помощь была бы признательна, поскольку несколько попыток с использованием iloc, groupby agg, groupby преобразование мне не удавалось.