Skip to content

2024 S2 D2. Encuesta Calidad de Vida DANE

Published: at 09:07 PM

Merge

Mezclar por dos columnas

Supongamos que tenemos dos DataFrames, llamados dfA y dfB. Si quieremos mezclar usando ambos, se usa como argumento de la variable left_on una lista.

Por ejemplo, si dfA es:

DIRIDvar1var2
110.40.2
120.40.2
210.10.2
220.10.2
310.30.4

y dfB es:

DIRIDvar3var4
119.142
128.941
218.840
229.244
314.539

Y queremos un nuevo dataframe, llamado dfNew que tenga como llave las variables DIR e ID y como variables de valores var1, var2, var3 y var4, es decir:

DIRIDvar1var2var3var4
110.40.29.142
120.40.28.941
210.10.28.840
220.10.29.244
310.30.44.539

lo hacemos así:

dfNew = pd.merge(left=dfA,right=dfB,how="left", left_on=["DIR","ID"], right_on=["DIR","ID"])

https://stackoverflow.com/questions/41815079/pandas-merge-join-two-data-frames-on-multiple-columns

2024 S2 D2. Encuesta Calidad de Vida DANE

Documentación técnica

Se encuentra en la ruta:

Encuesta Calidad de Vida :arrow_forward: Materiales Relacionados :arrow_forward: Estructura Base de Datos

Por ejemplo, para la encuesta del 2018, en la siguiente página: https://microdatos.dane.gov.co/index.php/catalog/607/related-materials

Estructura de los datos

La estructura de datos del DANE tiene la siguiente distinción:

‘un registro en la tabla padre puede tener uno o varios registros correspondientes en la tabla hijo’

Ejemplo: Estructura, Salud y Servicios del hogar

En este caso:

Llave (clave)

Como mencionamos antes, al mezclar dos bases de datos se debe tener en cuenta cuál es la variable que identifica los registros. Es la llave o clave para mezclar. En la estructura de las bases de datos del DANE, esta variable es diferente entre la tabla Maestro (padre) y la tabla Detalle (Hijo).

Tabla Maestro (padre) a Detalle (hijo) según el DANE. Comparten la variable directorio, pero el padre tiene secuencia_encuesta, que se relaciona con secuencia_p en el hijo

Ejemplo: Merge, Salud y Servicios del hogar

Descargamos los datos de salud y servicios del hogar de la página del DANE de la encuesta del 2018: https://microdatos.dane.gov.co/index.php/catalog/607/get-microdata

Importamos las librerías

import pandas as pd
import numpy as np

Cargamos los conjuntos de datos

dfSalud = pd.read_csv("Salud.csv",sep=';')
dfServicios = pd.read_csv("Servicios del hogar.csv",sep=';')

Preguntas:

¿cómo hacer cálculos sobre estos datos?


Previous Post
2024 S2 D3. Taller
Next Post
2024 S2 D. Pandas