Как суммировать значения в родительском дочернем фрейме данных в Python?
У меня есть следующий DF в моей записной книжке Python
Account Rubriek debet credit parent
0 0 Vaste activa NaN NaN null
1 0.0 Materiele... NaN NaN 0
2 0.0.0 Terreinen 50000.0 NaN 0.0
3 0.0.1 Gebouwen 150000.0NaN 0.0
4 0.0.2 Verbouwi.. 20000.0 NaN 0.0
5 0.0.3 Machines NaN NaN 0.0
6 0.0.4 Gereedschappen NaN NaN 0.0
7 0.0.5 Inventaris NaN NaN 0.0
8 0.0.6 Wagenpark NaN NaN 0.0
9 0.1 Cummulitieve NaN NaN 0
Я хочу закончить с накопленными значениямиродительские счета.Я знаю, что это можно сделать с помощью рекурсии.У меня есть следующее:
Теоретически я думаю, что алгоритм должен выглядеть следующим образом:
if account is leaf node:
debet_sum = debet
else
debet_sum = sum of debet_sum where account == parent
Я могу определить, является ли учетная запись конечным узлом по:
df1['Account'].isin(df1['parent'])
Значение debet_sum для строки 1 можно получить с помощью:
df1[df1.iloc[1]['Account'] == df1['parent']]['debet'].sum()
Моя первая попытка объединить это выглядит следующим образом:
def get_debet_sum(row):
if not df1['Account'].isin(df1['parent']):
debet_sum = df1.debet
else
debet_sum = df1[df1['Account'] == df1['parent']]['debet'].sum()
df1.assign(debet_sum = df1.apply(get_debet_sum, axis = 1))
Однако это не дает мне никаких результатов.Я не понимаю, какой следующий шаг мне нужно сделать, чтобы получить желаемые результаты