df_have
ID AMT REL_NUM HDR_NUM
3 0.02 2.0 2.0
4 2.00 2.0 4.0
5 0.00 1.0 5.0
1 0.00 5.0 1.0
2 19.7 1.0 2.0
df_want
ID AMT REL_NUM HDR_NUM CALCULATION
3 0.02 2.0 2.0 (19.7+0.02+2.00)
4 2.00 2.0 4.0 (2.00)
5 0.00 1.0 5.0 (0.00+0.00)
1 0.00 5.0 1.0 (0.00+19.7)
2 19.7 1.0 2.0 (19.7+0.02+2.00)
Попытка создать новый столбец 'CALCULATION', но логика немного хитрая.Вычисление должно быть SUM поля AMT, зависящего от полей ID, REL_NUM и HDR_NUM.
Шаг 1 - Проверьте поле HDR_NUM и получите соответствующее значение AMT, где ID = HDR_NUM. Шаг 2 - Добавьте во все поля AMT, где REL_NUM = HDR_NUM
Для первой строки это будетсуммирование полей AMT для ID = 2,3 и 4.
Пример кода, который необходимо обновить.Сначала я попробовал групповой режим, но у меня возникли проблемы с его обработкой для обоих шагов, описанных выше:
df_want['CALCULATION']=df_have.groupby(['ID','HDR_NUM'])['AMT'].transform('sum')+ ?