dd.eam.deflactar#
- dane_data.eam.deflactar(df, columnas, deflactor, on='anio', base=100.0, sufijo='_real')[fuente]#
Convierte valores corrientes a precios constantes.
Calcula
valor_real = valor / deflactor × basepara cada columna.- Parámetros:
df (DataFrame) – Microdatos o tabla con valores corrientes.
deflactor (DataFrame | Series) – Una Serie indexada por año, o un DataFrame con las columnas de
on(por ejemplo["anio", "division"], para un deflactor por sector) y una columnadeflactor.on (str | list[str]) – Columna o columnas con que se une el deflactor.
base (float) – Valor del índice en el año base (100 si el deflactor es un índice base 100).
sufijo (str) – Sufijo de las columnas nuevas.
- Devuelve:
dfcon la columnadeflactory una columna<columna><sufijo>por cada columna. Sidfya tenía una columnadeflactor(de una llamada anterior), se reemplaza.- Tipo del valor devuelto:
DataFrame
- Muestra:
ValueError – Si el deflactor repite un año (o una combinación de
on): duplicaría filas dedf.- Avisos:
UserWarning – Si algunas filas no encontraron deflactor (quedan vacías).
Notas
dane-datano trae deflactores. Para la industria se suele usar el índice de precios del productor (IPP) del DANE, por año o por división CIIU.Ejemplos
>>> import pandas as pd >>> import dane_data as dd >>> eam = pd.DataFrame({ ... "anio": [2023, 2023, 2024], "sector": ["Alimentos", "Químicos", "Alimentos"], ... "nordest": [1, 2, 1], "nordemp": [10, 20, 10], ... "prodbr2": [500.0, 800.0, 550.0], "consin2": [300.0, 500.0, 320.0], "valagri": [200.0, 300.0, 230.0], ... "pertotal": [10, 20, 11], "pperytem": [9, 18, 10], "salpeyte": [50.0, 90.0, 55.0], ... "prespyte": [20.0, 30.0, 22.0], ... }) >>> ipp = pd.Series({2023: 100.0, 2024: 110.0}) >>> dd.eam.deflactar(eam, ["valagri"], ipp)[["anio", "valagri", "valagri_real"]].round(1) anio valagri valagri_real 0 2023 200.0 200.0 1 2023 300.0 300.0 2 2024 230.0 209.1