<jupyter_start><jupyter_text>blog nexos migracion Materiales para el analisis para el blog sobre migracion para la revista Nexos.    Meta    "La meta de este notebook es recrear la figura X del reporte XYZ ..."             Metas mensurables          Ej 1: Identificar variables de interes en el conjunto de datos nombre_chido_de_conjunto_de_datos.csv          Ej 2: Crear un dataset trabajable de los datos en bruto.        Contexto    Contexto en este momento (por ejemplo, "hemos descargado datos sin procesar de website.com  y ahora estamos en el proceso de crear un masterfile").     ¿Cuál es el objetivo final de este proyecto?      ¿Qué estamos tratando de recrear? ¿Dónde estamos en el proceso?      Cualquier enlace a documentación / figuras.<jupyter_code>import pandas as pd
from zipfile import ZipFile
from pathlib import Path
from herramientas import arbol
from datetime import datetime as dt
hoy = dt.today().strftime("%d-%b-%y")

hoy
DATOS_BRUTOS = Path("../datos/brutos/")
DATOS_INTERINOS = Path("../datos/interinos/")
DATOS_PROCESADOS = Path("../datos/procesados/")
DATOS_EXTERNOS = Path("../datos/externos/")
arbol(DATOS_BRUTOS)
ZipFile(DATOS_BRUTOS / 'conjunto_de_datos_enadid_2018_csv.zip').extractall(DATOS_BRUTOS / 'enadid18/')
DATOS_MIGRANTE = Path(DATOS_BRUTOS / 'enadid18' / "conjunto_de_datos_tmigrante_enadid_2018")
arbol(DATOS_MIGRANTE)
datos_migrante = pd.read_csv(DATOS_MIGRANTE / 'conjunto_de_datos/' / 'conjunto_de_datos_tmigrante_enadid_2018.csv')
datos_migrante.head().T
catalogos = DATOS_MIGRANTE.joinpath("catalogos").glob("*.csv")
# list(catalogos)
datos_catalogos = pd.DataFrame()
for catalogo in catalogos:
    working_df = pd.read_csv(catalogo, encoding = 'latin1')
    working_df['pregunta'] = catalogo.stem
    datos_catalogos = pd.concat((datos_catalogos, working_df), ignore_index = True)
datos_catalogos
variables_dic = {}
for valor_pregunta in datos_catalogos['pregunta'].unique():
    working_df = datos_catalogos[datos_catalogos['pregunta'] == valor_pregunta]
    variables_dic[valor_pregunta] = {}
    for indice, valores in working_df[['cve', 'descrip']].iterrows():
        variables_dic[valor_pregunta][valores[0]] = valores[1]
variables_dic
variables_dic.keys()
datos_migrante.columns
for key in variables_dic.keys():
    if key in datos_migrante.columns:
        datos_migrante[key] = datos_migrante[key].map(variables_dic[key])
    else:
        pass
datos_migrante.head().T
arbol(DATOS_MIGRANTE)
diccionario_datos = pd.read_csv(DATOS_MIGRANTE / 'diccionario_de_datos' / 'diccionario_datos_tmigrante_enadid_2018.csv', encoding = 'latin1')
diccionario_datos.head(15)
columnas_dic = {}
for indice, valores in diccionario_datos[['nombre_campo', 'nemónico']].iterrows():
    columnas_dic[valores[1]] = valores[0]
columnas_dic
datos_migrante.columns = datos_migrante.columns.str.upper().map(columnas_dic)
datos_migrante.columns<jupyter_output><empty_output><jupyter_text>Checkpoint<jupyter_code>datos_migrante.to_csv(DATOS_PROCESADOS / 'datos_migrante.csv', index = False, encoding = 'utf-8')<jupyter_output><empty_output><jupyter_text>***<jupyter_code>datos_migrante.info()
datos_migrante.pivot_table(
    index = 'P4.10 ¿En qué mes y año se fue a vivir (NOMBRE) a otro país la última vez? (Año)',
    columns = 'P4.11 ¿A qué país se fue (NOMBRE) la última vez?',
    values = 'Factor de expansión a nivel vivienda',
    aggfunc = 'sum',
    margins = True,
    margins_name = 'Totales',
)
datos_migrante.pivot_table(
    columns = 'P4.10 ¿En qué mes y año se fue a vivir (NOMBRE) a otro país la última vez? (Año)',
    index = 'P4.11 ¿A qué país se fue (NOMBRE) la última vez? (Otro país)',
    values = 'Factor de expansión a nivel vivienda',
    aggfunc = 'sum',
    margins = True,
    margins_name = 'Totales',
    fill_value = ''
)<jupyter_output><empty_output><jupyter_text>Especificamente solo nacidos en MX<jupyter_code>datos_migrante.groupby("P4.5 ¿En qué estado de la República Mexicana o país nació (NOMBRE)?  (Otro país)")['Factor de expansión a nivel vivienda'].sum()
datos_migrantes_mexicanos = datos_migrante[datos_migrante['P4.5 ¿En qué estado de la República Mexicana o país nació (NOMBRE)?  (Otro país)'].isna()].copy()
datos_migrantes_mexicanos.to_csv(DATOS_PROCESADOS / 'migrantes_mexicanos.csv', encoding = 'utf-8', index = False,)
migrante_por_año_por_pais = datos_migrantes_mexicanos.groupby(['P4.11 ¿A qué país se fue (NOMBRE) la última vez? (Otro país)', 'P4.10 ¿En qué mes y año se fue a vivir (NOMBRE) a otro país la última vez? (Año)'])['Factor de expansión a nivel vivienda'].sum().to_frame()
migrante_por_año_por_pais.to_csv(DATOS_PROCESADOS / 'migrante_por_año_por_pais.csv', encoding = 'utf-8',)<jupyter_output><empty_output><jupyter_text>Ver datos ipums<jupyter_code># arbol(DATOS_BRUTOS)
import gzip
with gzip.open(DATOS_BRUTOS / 'usa_00056.dta.gz',) as file:
    data_ipums = pd.read_stata(file)
data_ipums.head().T
ipums_mex = data_ipums[data_ipums['bpld'] == 'mexico']
ipums_mex.shape
ipums_mex = ipums_mex[ipums_mex['yrsusa1'] <= 1]
ipums_mex.groupby(["yrsusa1", 'migrate1'])['perwt'].sum()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11648394675019577, 'fraction_numerical': 0.012529365700861394, 'mean_word_length': 5.458912768647282, 'pattern_counts': {'":': 0, '<': 22, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '109748', 'license': 'MIT', 'n_tokens_mistral': 2029, 'n_tokens_neox': 2013, 'n_words': 425, 'path': 'notebooks/00_DataPrep.ipynb', 'repo_name': 'chekos/blog-nexos-migracion', 'size': '5108'}