Spaces:
Runtime error
Runtime error
import pandas as pd | |
#Valores de Junio 2022 | |
TRAMOS = { 777000 :0, | |
1727000 :0.04, | |
2878000 :0.08, | |
4029000 :0.135, | |
5180000 :0.23, | |
6906000 :0.304, | |
17842000 :0.35, | |
99999999 :0.4} | |
TRAMOS_REFORMA = { | |
777000 :0, | |
1727000 :0.04, | |
2878000 :0.08, | |
4030000 :0.135, | |
5242320 :0.26, | |
6331000 :0.35, | |
8057000 :0.40, | |
99999999 :0.43} | |
def descomponer_en_tramos(sueldo_bruto, tramos=TRAMOS): | |
""" | |
Descompone un sueldo bruto en tramos de impuesto | |
""" | |
descomp = [] | |
impuestos = [] | |
tramo_anterior = 0 | |
for tramo, descuento in tramos.items(): | |
delta = min(sueldo_bruto, tramo) - tramo_anterior | |
if delta>0: | |
descomp.append(delta) | |
impuestos.append(int(delta*descuento)) | |
tramo_anterior = tramo | |
return descomp, impuestos | |
def get_table(sueldo_bruto, tramos=TRAMOS): | |
""" | |
Tabla de Impuestos por tramo | |
""" | |
_tramos = [0]+list(tramos.keys()) | |
tasas = tramos.values() | |
data = list(zip(_tramos[:-1], _tramos[1:], tasas, *descomponer_en_tramos(sueldo_bruto, tramos))) | |
df = pd.DataFrame(data=data, columns=["Desde", "Hasta", "Tasa", "Monto sujeto a impuesto", "Impuesto"]) | |
return df |