<jupyter_start><jupyter_text>Vamos a crear un mapa bien prro  Primero un vistazo a los datos<jupyter_code>import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# !pip install squarify
import squarify<jupyter_output>Collecting squarify
  Downloading squarify-0.4.3-py3-none-any.whl (4.3 kB)
Installing collected packages: squarify
Successfully installed squarify-0.4.3<jupyter_text>Leyendo los datos para el Estado de México<jupyter_code>df_edomex = pd.read_csv('data/ageb_mza_urbana_15_cpv2020/conjunto_de_datos/conjunto_de_datos_ageb_urbana_15_cpv2020.csv')
df_edomex<jupyter_output><empty_output><jupyter_text>Hagamos una gráfica para identificar los MUNICIPIOS con mayor cantidad de personas solteras<jupyter_code>df_edomex_solt_mun = df_edomex.loc[1:,('NOM_MUN','LOC','NOM_LOC','P_12YMAS_F','P_12YMAS_M','P12YM_SOLT')]
df_edomex_solt_mun<jupyter_output><empty_output><jupyter_text>Limpiamos datos perdidos marcados como '*'<jupyter_code>df_edomex_solt_mun = df_edomex_solt_mun[df_edomex_solt_mun['P12YM_SOLT'] != '*'].loc[:,('NOM_MUN','P12YM_SOLT')]
df_edomex_solt_mun
#df_edomex_solt_mun['P12YM_SOLT']
df_edomex_solt_mun['P12YM_SOLT'].replace('N/D', np.NaN, inplace=True)
df_edomex_solt_mun.dropna(inplace=True)
df_edomex_solt_mun<jupyter_output><empty_output><jupyter_text>Hacemos cast para convertir a datos de tipo numérico<jupyter_code>df_edomex_solt_mun['P12YM_SOLT'] = df_edomex_solt_mun['P12YM_SOLT'].astype(int)
df_edomex_solt_mun.describe()<jupyter_output><empty_output><jupyter_text>La diferencia en la densidad poblacional entre municipios es muy grande, debemos escoger una métrica más justa en este sentido. La más utilizada es la **tasa poblacional**<jupyter_code># solt_mun_pct = df_edomex_solt_mun.groupby('NOM_MUN').agg({'P12YM_SOLT': 'sum'}).groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))
# solt_mun_tot = df_edomex_solt_mun.groupby('NOM_MUN').agg({'P12YM_SOLT': 'sum'}).groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))
solt_mun_tot = df_edomex_solt_mun.groupby('NOM_MUN').agg({'P12YM_SOLT': 'sum'}).apply(lambda x: 100 * x / float(x.sum()))
solt_mun_tot.reset_index(inplace=True)
solt_mun_tot
over_2_pct = solt_mun_tot[solt_mun_tot['P12YM_SOLT'] >= 2]
over_2_pct
squarify.plot(sizes=over_2_pct['P12YM_SOLT'], label=over_2_pct['NOM_MUN'], alpha=0.6)
over_2_pct.plot(kind='bar', x='NOM_MUN', y='P12YM_SOLT')
over_2_pct<jupyter_output><empty_output><jupyter_text>Hagamos una gráfica para identificar las LOCALIDADES con mayor cantidad de personas solteras<jupyter_code>df_edomex_solt_loc = df_edomex.loc[:,('NOM_LOC','P_12YMAS_F','P_12YMAS_M','P12YM_SOLT')]
df_edomex_solt_loc<jupyter_output><empty_output><jupyter_text>Obteniendo solo las columnas correspondientes a personas solteras mediante regex<jupyter_code>df_edomex.filter(regex='SOLT')<jupyter_output><empty_output><jupyter_text>Ahora sabemos que solo hay una columna para las personas solteras (de hecho, lo descubrimos mediante el diccionario de datos)<jupyter_code>df_ecatepec = df_edomex[df_edomex['NOM_MUN'] == 'Ecatepec de Morelos']
df_ecatepec = df_ecatepec.loc[:,('ENTIDAD','NOM_ENT','MUN','NOM_MUN','LOC','MZA','P_12YMAS_F','P_12YMAS_M','P12YM_SOLT')]
df_ecatepec
df_ecatepec.describe()<jupyter_output><empty_output><jupyter_text>Leyendo los datos para la CDMX<jupyter_code>df_cdmx = pd.read_csv('data/ageb_mza_urbana_09_cpv2020/conjunto_de_datos/conjunto_de_datos_ageb_urbana_09_cpv2020.csv')
df_cdmx
df_cdmx.filter(regex='SOLT')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.12327981651376146, 'fraction_numerical': 0.027522935779816515, 'mean_word_length': 11.07266435986159, 'pattern_counts': {'":': 0, '<': 40, '<?xml version=': 0, '>': 41, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '10', 'dir': 'jupyter-structured-clean-dedup', 'id': '592484', 'license': 'MIT', 'n_tokens_mistral': 1629, 'n_tokens_neox': 1541, 'n_words': 206, 'path': 'mapas/ecatepec_solteras.ipynb', 'repo_name': 'Krax7/100-days-of-code-ds', 'size': '3488'}