maxdepth = 3
def getsplit(depth, data, variables, outcome_variable):
    --fragment pominięty--
    generated_tree = [[best_var,float('-inf'),best_split,[]],[best_var,\
    best_split,float('inf'),[]]]

    if depth < maxdepth:
        splitdata1 = data.loc[data[best_var] <= best_split,:]
        splitdata2 = data.loc[data[best_var] > best_split,:]
        if len(splitdata1.index) > 10 and len(splitdata2.index) > 10:
            generated_tree[0][3] = getsplit(depth + 1, \
                splitdata1, variables, outcome_variable)
            generated_tree[1][3] = getsplit(depth + 1, \
                splitdata2, variables, outcome_variable)
        else:
            depth = maxdepth + 1
            generated_tree[0][3] = best_lowermean
            generated_tree[1][3] = best_highermean
    else:
        generated_tree[0][3] = best_lowermean
        generated_tree[1][3] = best_highermean
    return(generated_tree)
