MaykolMedrano/enahodata_py
Python library that automates the download of the modules of the National Household Survey (ENAHO in spanish) conducted by the National Institute of Statistics and Informatics of Peru each year.
enahodata_py
Automated download and extraction of Peru's National Household Survey (ENAHO) with support for cross-sectional and panel data.
Esta libreria consta de un comando para extraer datos de la Encuesta Nacional de Hogares (ENAHO) del Instituto Nacional de Estadística e Informática (INEI) de Perú que se realiza cada año desde el 2004. Esta encuesta esta organizado por modulos.
Ficha técnica: Consulta aquí
Contenido
- Modulos de la encuesta (Corte transversal)
- Modulos de la encuesta (Datos de panel)
- I. Instalación
- II. Descripción de la librería
- III. Ejemplo
- IV. Como citar este repositorio
- Licencia
Modulos de la Encuesta Nacional de Hogares (ENAHO)
Los modulos son los siguientes:
Corte transversal
| Nro | Código Módulo | Modulo | Preguntas |
|---|---|---|---|
| 1 | 01 |
Características de la Vivienda y del Hogar | Preguntas |
| 2 | 02 |
Características de los Miembros del Hogar | Preguntas |
| 3 | 03 |
Educación | Preguntas |
| 4 | 04 |
Salud | Preguntas |
| 5 | 05 |
Empleo e Ingresos | Preguntas |
| 6 | 07 |
Gastos en Alimentos y Bebidas (Módulo 601) | Preguntas |
| 7 | 08 |
Instituciones Beneficas | Preguntas |
| 8 | 09 |
Mantenimiento de la Vivienda | Preguntas |
| 9 | 10 |
Transportes y Comunicaciones | Preguntas |
| 10 | 11 |
Servicios a la Vivienda | Preguntas |
| 11 | 12 |
Esparcimiento , Diversion y Servicios de Cultura | Preguntas |
| 12 | 13 |
Vestido y Calzado | Preguntas |
| 13 | 15 |
Gastos de Transferencias | Preguntas |
| 14 | 16 |
Muebles y Enseres | Preguntas |
| 15 | 17 |
Otros Bienes y Servicios | Preguntas |
| 16 | 18 |
Equipamiento del Hogar | Preguntas |
| 17 | 22 |
Producción Agrícola | Preguntas |
| 18 | 23 |
Subproductos Agricolas | Preguntas |
| 19 | 24 |
Producción Forestal | Preguntas |
| 20 | 25 |
Gastos en Actividades Agricolas y/o Forestales | Preguntas |
| 21 | 26 |
Producción Pecuaria | Preguntas |
| 22 | 27 |
Subproductos Pecuarios | Preguntas |
| 23 | 28 |
Gastos en Actividades Pecuarias | Preguntas |
| 24 | 34 |
Sumarias ( Variables Calculadas ) | Preguntas |
| 25 | 37 |
Programas Sociales (Miembros del Hogar) | Preguntas |
| 26 | 77 |
Ingresos del Trabajador Independiente | Preguntas |
| 27 | 78 |
Bienes y Servicios de Cuidados Personales | Preguntas |
| 28 | 84 |
Participación Ciudadana | Preguntas |
| 29 | 85 |
Gobernabilidad, Democracia y Transparencia | Preguntas |
| 30 | 1825 |
Beneficiarios de Instituciones sin fines de lucro: Olla comun | Preguntas |
Datos de panel
| Nro | Año | Código Módulo | Modulo |
|---|---|---|---|
| 1 | 2023-2018 | 1474 |
Características de la Vivienda y del Hogar |
| 2 | 2023-2018 | 1475 |
Educación |
| 3 | 2023-2018 | 1476 |
Salud |
| 4 | 2023-2018 | 1477 |
Empleo e Ingresos |
| 5 | 2023-2018 | 1478 |
Sumarias ( Variables Calculadas ) |
| 6 | 2023-2018 | 1479 |
Características de los Miembros del Hogar |
| 7 | 2017-2011 | 01 |
Características de la Vivienda y del Hogar |
| 8 | 2017-2011 | 03 |
Educación |
| 9 | 2017-2011 | 04 |
Salud |
| 10 | 2017-2011 | 05 |
Empleo e Ingresos |
| 11 | 2017-2011 | 34 |
Sumarias( Variables calculadas ) |
| 12 | 2017-2011 | 1314 |
Características de los Miembros del Hogar |
I. Instalacion
Requerimientos
Para el correcto funcionamiento del paquete y sus respectivos modulos, es necesario tener instalado los siguientes paquetes adicionales:
- requests
- tqdm
Iniciamos la instalacion
pip install enahodataII. Descripción de la libreria
1.- Importamos la libreria
from enahodata import enahodata
import os- En esta etapa importamos las librerias que se usaran, enahodata para extraer el comando enahodata.
- También importamos os para manejar las carpetas.
2.- Definimos el directorio de trabajo
os.chdir("/path/to/your/directory")- Usamos este código para definir el directorio de trabajo donde se trabajará.
3.- Definimos los paramétros del comando enahodata
El comando es enahodata, y tiene los siguientes parametros:
enahodata(
modulos: list[str]=["", "", "", ...],
anios: list[str]=["", "", "", ...],
descomprimir: bool = False,
only_dta: bool = False
overwrite: bool = False,
output_dir: str = "NOMBRE_CARPETA",
panel: bool = True or False
)- modulos: en este parámetro ponemos la lista de modulos que se quiere descargar. Se puede extraer el codigo de la columna Código Módulo.
enahodata(
modulos = ["01", "02", "03",...],
...
)- anios: en este parámetro se pone la lista de años.
enahodata(
...
anios = ["2020", "2021", "2022",...]
...
)- descomprimir: con esta opción se selecciona True o False para que se descomprima o no, respectivamente.
enahodata(
...
descomprimir:bool = ...,
...
)- only_data: con este parametro del comando seleccionamos si se enfocara solo en los archivos .dta o no. Tiene dos valores True o False.
enahodata(
...
only_dta: bool = ...,
...
)- overwrite: con esta opción se indica si se reemplaza los archivos ya existentes o no. Tiene dos valores True o False.
enahodata(
...
overwrite: bool = ...,
...
)- output_dir: con este parámetro se indica el nombre que tendra la carpeta donde se almacenaran los archivos de los modulos descargados de la ENAHO.
enahodata(
...
output_dir: str = "NOMBRE_CARPETA",
)- panel: con este parámetro se indica si se descargará los datasets de corte transversal o los de panel data. Tiene dos valores True (datos de panel) y False (corte transversal).
enahodata(
...
panel: bool = ...,
)4.- Plantilla completa
from enahodata import enahodata
import os
os.chdir("/path/to/your/directory")
enahodata(
modulos = ["01", "02", "03",...],,
anios = list[str],
descomprimir = ...,
only_dta = ...,
overwrite = ...,
output_dir = "NOMBRE_CARPETA",
panel = ...,
)III. Ejemplo práctico
Se necesita descargar de los años 2022 y 2023, los siguientes módulos de la Encuesta Nacional de Hogares de Perú:
- Características de la Vivienda y del Hogar
- Educación
- Salud
Entonces, con la información anterior revisamos el codigo de cada modulo. En este caso los codigos son los siguientes:
01: Características de la vivienda y del hogar03: Educación04: Salud
Luego, realizamos lo siguiente:
pip install enahodataEn otro archivo ejemplo.py, por ejemplo escribimos el siguiente código:
from enahodata import enahodata
import os
os.chdir("C:\Users\Usuario\Desktop\ejemplo")
enahodata(
modulos=["01","03","04"],
anios=["2022", "2023"],
descomprimir=True,
only_dta=True,
overwrite=True,
output_dir="datos_ENAHO",
panel=False
)Ejecutamos el codigo:
python ejemplo.pyY se creara la siguiente estructura de carpetas, como resultado:
Donde:
- /modulo_01_2022_dta_only
- /modulo_01_2023_dta_only
- /modulo_03_2022_dta_only
- /modulo_03_2023_dta_only
- /modulo_04_2022_dta_only
- /modulo_04_2023_dta_only
Son las carpetas donde se encuentran los dataset en formato
.dta
- /modulo_01_2022_extract
- /modulo_01_2023_extract
- /modulo_03_2022_extract
- /modulo_03_2023_extract
- /modulo_04_2022_extract
- /modulo_04_2023_extract
En estas carpetas se encuentran, la información descomprimida de la ENAHO, con toda la información que viene desde el portal de microdatos del INEI.
Nota
- Cuando se active la opción
panel=True, tener en cuenta que los datasets tienen un peso considerable. El proceso sera el mismo, la diferencia se encuentra en el tamaño de los archivos que se descarán. - Otro aspecto a tener en cuenta, los códigos a usar para la función debe ser los que pertenecen a la tabla de datos de panel, considerando el periodo de tiempo que son vigentes los codigos a usar.
IV. Como citar este repositorio
Medrano, M., & Palomino, J. (2025). ENAHODATA (versión 0.0.3) [Software]. Zenodo. https://doi.org/10.5281/zenodo.15029826
Licencia
Este repositorio esta autorizado bajo la licencia MIT. Ver LICENCIA para mas detalles.