Иерархия рекурсивных сумм Python - PullRequest
0 голосов
/ 13 сентября 2018

Как вы используете рекурсивную сумму в Python DF?

Я хочу получить в итоге сумму всех дочерних значений в иерархии счетов.Чтобы получить это, у меня есть следующий базовый код:

import numpy as np
import pandas as pd
#load csv into pandas data frame
df1 = pd.read_csv(r"accounts.csv")
xi = 0
xn = 10
#Append parent based on account
df1 = df1.assign(parent=df1['Account']\
           .str.split('.')\
           .apply(lambda x: '.'.join(x[:-1]) or 'null'))\
           .sort_values(['Account'], ascending=[True])
df1[xi:xn]

Это производит следующий DF:

    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

Я хочу дополнительный столбец с debet_sum, который показывает значение всех дочерних узлов,Таким образом, узел 0.0 debet_sum = 220.000 и узел 0 debet_sum = 220.000.в конце концов я хочу сделать то же самое с кредитом.

Я попробовал следующее, но, похоже, не работает

def debetsum (x):
    if df1.parent == 'null':
        df1.assign(Debet_sum=debit_sum)
    else:
        df1.assign(debet_sum=debit + debit_sum)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...