{ "cells": [ { "cell_type": "markdown", "id": "45eda307", "metadata": {}, "source": [ "# Selección de datos\n", "\n", "Una operación fundamental cuando trabajamos con datos consiste en seleccionar los datos que nos interesan. Por ejemplo, en los datos de casos de Covid que hemos utilizados, podremos seleccionar de ellos cuáles corresponden a mujeres y a partir de allí realizar otras operaciones de datos. Es un ejemplo simple, pero es una operación común que vamos a realizar continuamente.\n", "\n", "## El método `.loc`\n", "\n", "Este es la forma más intuitiva de realizar una selección en nuestro conjunto de datos. Lo que se consigue con este método es filtrar por coincidencias en una columna a partir de las condiciones que se especifiquen. Por ejemplo:" ] }, { "cell_type": "code", "execution_count": 1, "id": "aa2a3fe8", "metadata": { "tags": [ "remove-cell" ] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/jairoantonio/opt/anaconda3/lib/python3.9/site-packages/IPython/core/interactiveshell.py:3444: DtypeWarning: Columns (13) have mixed types.Specify dtype option on import or set low_memory=False.\n", " exec(code_obj, self.user_global_ns, self.user_ns)\n" ] } ], "source": [ "import pandas as pd\n", "try:\n", " covid_nacional = pd.read_csv('../data/casos_nacionales_covid-19_2022_semestre1.csv')\n", "except FileNotFoundError:\n", " covid_nacional = pd.read_csv('../datos/casos_nacionales_covid-19_2022_semestre1.csv')" ] }, { "cell_type": "code", "execution_count": 2, "id": "692bd334", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0fecha_actualizacionid_registroorigensectorentidad_umsexoentidad_nacentidad_resmunicipio_res...otro_casotoma_muestra_labresultado_labtoma_muestra_antigenoresultado_antigenoclasificacion_finalmigrantepais_nacionalidadpais_origenuci
452022-06-2613c92bFUERA DE USMERSSACIUDAD DE MÉXICOMUJERCIUDAD DE MÉXICONaNNaN...SINONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
562022-06-2604f190FUERA DE USMERISSSTECIUDAD DE MÉXICOMUJERCIUDAD DE MÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)NONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
782022-06-260ba73dFUERA DE USMERISSSTECIUDAD DE MÉXICOMUJERQUERÉTAROMÉXICONAUCALPAN DE JUÁREZ...NONONO APLICA (CASO SIN MUESTRA)NONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
9102022-06-260a98b4FUERA DE USMERSSACIUDAD DE MÉXICOMUJERMICHOACÁN DE OCAMPONaNNaN...NONONO APLICA (CASO SIN MUESTRA)SIPOSITIVO A SARS-COV-2CASO DE SARS-COV-2 CONFIRMADONO ESPECIFICADOMÉXICONO APLICANO APLICA
11122022-06-26112072FUERA DE USMERISSSTECIUDAD DE MÉXICOMUJERCIUDAD DE MÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)NONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
\n", "

5 rows × 41 columns

\n", "
" ], "text/plain": [ " Unnamed: 0 fecha_actualizacion id_registro origen sector \\\n", "4 5 2022-06-26 13c92b FUERA DE USMER SSA \n", "5 6 2022-06-26 04f190 FUERA DE USMER ISSSTE \n", "7 8 2022-06-26 0ba73d FUERA DE USMER ISSSTE \n", "9 10 2022-06-26 0a98b4 FUERA DE USMER SSA \n", "11 12 2022-06-26 112072 FUERA DE USMER ISSSTE \n", "\n", " entidad_um sexo entidad_nac entidad_res \\\n", "4 CIUDAD DE MÉXICO MUJER CIUDAD DE MÉXICO NaN \n", "5 CIUDAD DE MÉXICO MUJER CIUDAD DE MÉXICO NaN \n", "7 CIUDAD DE MÉXICO MUJER QUERÉTARO MÉXICO \n", "9 CIUDAD DE MÉXICO MUJER MICHOACÁN DE OCAMPO NaN \n", "11 CIUDAD DE MÉXICO MUJER CIUDAD DE MÉXICO NaN \n", "\n", " municipio_res ... otro_caso toma_muestra_lab \\\n", "4 NaN ... SI NO \n", "5 NaN ... NO NO \n", "7 NAUCALPAN DE JUÁREZ ... NO NO \n", "9 NaN ... NO NO \n", "11 NaN ... NO NO \n", "\n", " resultado_lab toma_muestra_antigeno \\\n", "4 NO APLICA (CASO SIN MUESTRA) SI \n", "5 NO APLICA (CASO SIN MUESTRA) NO \n", "7 NO APLICA (CASO SIN MUESTRA) NO \n", "9 NO APLICA (CASO SIN MUESTRA) SI \n", "11 NO APLICA (CASO SIN MUESTRA) NO \n", "\n", " resultado_antigeno clasificacion_final \\\n", "4 NEGATIVO A SARS-COV-2 NEGATIVO A SARS-COV-2 \n", "5 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "7 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "9 POSITIVO A SARS-COV-2 CASO DE SARS-COV-2 CONFIRMADO \n", "11 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "\n", " migrante pais_nacionalidad pais_origen uci \n", "4 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "5 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "7 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "9 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "11 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "\n", "[5 rows x 41 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "casos_mujeres = covid_nacional.loc[covid_nacional['sexo'] == 'MUJER']\n", "casos_mujeres.head()" ] }, { "cell_type": "markdown", "id": "a86379b0", "metadata": {}, "source": [ "En este caso, le dijimos a `pandas` que busque en la columna `sexo` los valores que sean iguales a `MUJER` y los muestre. Como habrás notado, el operador `==` indica igualdad. Este es un operador lógico, por lo que no es necesario que el valor a comparar sea numérico. Podemos utilizar el mismo método para localizar un valor numérico, por ejemplo, las mujeres que tengan edad de 25 años:" ] }, { "cell_type": "code", "execution_count": 3, "id": "6709c6ce", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0fecha_actualizacionid_registroorigensectorentidad_umsexoentidad_nacentidad_resmunicipio_res...otro_casotoma_muestra_labresultado_labtoma_muestra_antigenoresultado_antigenoclasificacion_finalmigrantepais_nacionalidadpais_origenuci
76772022-06-261eaf9dFUERA DE USMERSSACIUDAD DE MÉXICOMUJERCIUDAD DE MÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
1201212022-06-26c54e7cFUERA DE USMERSSACIUDAD DE MÉXICOMUJERCIUDAD DE MÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
1761772022-06-264a7184FUERA DE USMERISSSTECIUDAD DE MÉXICOMUJERCIUDAD DE MÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
3553562022-06-2671baefFUERA DE USMERSSACIUDAD DE MÉXICOMUJERMÉXICOMÉXICOCHALCO...SINONO APLICA (CASO SIN MUESTRA)SIPOSITIVO A SARS-COV-2CASO DE SARS-COV-2 CONFIRMADONO ESPECIFICADOMÉXICONO APLICANO APLICA
7507512022-06-2665cd8eUSMERSSACIUDAD DE MÉXICOMUJERCIUDAD DE MÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
..................................................................
132290313229042022-06-26m10d115FUERA DE USMERSSAMÉXICOMUJERCIUDAD DE MÉXICONaNNaN...NO ESPECIFICADONONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
132306113230622022-06-26m1c3e25FUERA DE USMERSSAMÉXICOMUJERMÉXICONaNNaN...NO ESPECIFICADONONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
132317813231792022-06-26m0cbd03FUERA DE USMERSSAMÉXICOMUJERMÉXICONaNNaN...NO ESPECIFICADOSIRESULTADO NO ADECUADONONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
132328813232892022-06-26m04a712FUERA DE USMERSSAMÉXICOMUJERCIUDAD DE MÉXICONaNNaN...NO ESPECIFICADONONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
132335013233512022-06-26m00101eFUERA DE USMERPRIVADAMÉXICOMUJERCIUDAD DE MÉXICONaNNaN...NO ESPECIFICADONONO APLICA (CASO SIN MUESTRA)NONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
\n", "

16002 rows × 41 columns

\n", "
" ], "text/plain": [ " Unnamed: 0 fecha_actualizacion id_registro origen sector \\\n", "76 77 2022-06-26 1eaf9d FUERA DE USMER SSA \n", "120 121 2022-06-26 c54e7c FUERA DE USMER SSA \n", "176 177 2022-06-26 4a7184 FUERA DE USMER ISSSTE \n", "355 356 2022-06-26 71baef FUERA DE USMER SSA \n", "750 751 2022-06-26 65cd8e USMER SSA \n", "... ... ... ... ... ... \n", "1322903 1322904 2022-06-26 m10d115 FUERA DE USMER SSA \n", "1323061 1323062 2022-06-26 m1c3e25 FUERA DE USMER SSA \n", "1323178 1323179 2022-06-26 m0cbd03 FUERA DE USMER SSA \n", "1323288 1323289 2022-06-26 m04a712 FUERA DE USMER SSA \n", "1323350 1323351 2022-06-26 m00101e FUERA DE USMER PRIVADA \n", "\n", " entidad_um sexo entidad_nac entidad_res municipio_res \\\n", "76 CIUDAD DE MÉXICO MUJER CIUDAD DE MÉXICO NaN NaN \n", "120 CIUDAD DE MÉXICO MUJER CIUDAD DE MÉXICO NaN NaN \n", "176 CIUDAD DE MÉXICO MUJER CIUDAD DE MÉXICO NaN NaN \n", "355 CIUDAD DE MÉXICO MUJER MÉXICO MÉXICO CHALCO \n", "750 CIUDAD DE MÉXICO MUJER CIUDAD DE MÉXICO NaN NaN \n", "... ... ... ... ... ... \n", "1322903 MÉXICO MUJER CIUDAD DE MÉXICO NaN NaN \n", "1323061 MÉXICO MUJER MÉXICO NaN NaN \n", "1323178 MÉXICO MUJER MÉXICO NaN NaN \n", "1323288 MÉXICO MUJER CIUDAD DE MÉXICO NaN NaN \n", "1323350 MÉXICO MUJER CIUDAD DE MÉXICO NaN NaN \n", "\n", " ... otro_caso toma_muestra_lab resultado_lab \\\n", "76 ... NO NO NO APLICA (CASO SIN MUESTRA) \n", "120 ... NO NO NO APLICA (CASO SIN MUESTRA) \n", "176 ... NO NO NO APLICA (CASO SIN MUESTRA) \n", "355 ... SI NO NO APLICA (CASO SIN MUESTRA) \n", "750 ... NO NO NO APLICA (CASO SIN MUESTRA) \n", "... ... ... ... ... \n", "1322903 ... NO ESPECIFICADO NO NO APLICA (CASO SIN MUESTRA) \n", "1323061 ... NO ESPECIFICADO NO NO APLICA (CASO SIN MUESTRA) \n", "1323178 ... NO ESPECIFICADO SI RESULTADO NO ADECUADO \n", "1323288 ... NO ESPECIFICADO NO NO APLICA (CASO SIN MUESTRA) \n", "1323350 ... NO ESPECIFICADO NO NO APLICA (CASO SIN MUESTRA) \n", "\n", " toma_muestra_antigeno resultado_antigeno \\\n", "76 SI NEGATIVO A SARS-COV-2 \n", "120 SI NEGATIVO A SARS-COV-2 \n", "176 SI NEGATIVO A SARS-COV-2 \n", "355 SI POSITIVO A SARS-COV-2 \n", "750 SI NEGATIVO A SARS-COV-2 \n", "... ... ... \n", "1322903 SI NEGATIVO A SARS-COV-2 \n", "1323061 SI NEGATIVO A SARS-COV-2 \n", "1323178 NO NO APLICA (CASO SIN MUESTRA) \n", "1323288 SI NEGATIVO A SARS-COV-2 \n", "1323350 NO NO APLICA (CASO SIN MUESTRA) \n", "\n", " clasificacion_final migrante pais_nacionalidad \\\n", "76 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "120 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "176 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "355 CASO DE SARS-COV-2 CONFIRMADO NO ESPECIFICADO MÉXICO \n", "750 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "... ... ... ... \n", "1322903 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "1323061 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "1323178 CASO SOSPECHOSO NO ESPECIFICADO MÉXICO \n", "1323288 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "1323350 CASO SOSPECHOSO NO ESPECIFICADO MÉXICO \n", "\n", " pais_origen uci \n", "76 NO APLICA NO APLICA \n", "120 NO APLICA NO APLICA \n", "176 NO APLICA NO APLICA \n", "355 NO APLICA NO APLICA \n", "750 NO APLICA NO APLICA \n", "... ... ... \n", "1322903 NO APLICA NO APLICA \n", "1323061 NO APLICA NO APLICA \n", "1323178 NO APLICA NO APLICA \n", "1323288 NO APLICA NO APLICA \n", "1323350 NO APLICA NO APLICA \n", "\n", "[16002 rows x 41 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mujeres_25 = casos_mujeres.loc[casos_mujeres['edad'] == 25]\n", "mujeres_25" ] }, { "cell_type": "markdown", "id": "c558cf94", "metadata": {}, "source": [ "```{admonition} Para resaltar\n", ":class: tip\n", "* Nota que en el caso del valor numérico no lo incluimos entre paréntesis. Eso es fundamental porque, como recordarás, en la columna `edad` el tipo de dato es numérico (`int64`).\n", "* Para evitar procesar todo el dataframe nuevamente, lo que hicimos fue acotar el *grupo* que hicimos con el primer resultado (`casos_mujeres`). \n", "```\n", "\n", "En ocasiones, vamos a querer descartar un valor en particular de una columna que contiene muchos elementos. Por ejemplo, en la columna `entidad_nac` (entidad de nacimiento de la persona) podemos querer seleccionar los valores que no sean `CIUDAD DE MÉXICO`:" ] }, { "cell_type": "code", "execution_count": 4, "id": "b2a0188a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0fecha_actualizacionid_registroorigensectorentidad_umsexoentidad_nacentidad_resmunicipio_res...otro_casotoma_muestra_labresultado_labtoma_muestra_antigenoresultado_antigenoclasificacion_finalmigrantepais_nacionalidadpais_origenuci
782022-06-260ba73dFUERA DE USMERISSSTECIUDAD DE MÉXICOMUJERQUERÉTAROMÉXICONAUCALPAN DE JUÁREZ...NONONO APLICA (CASO SIN MUESTRA)NONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
9102022-06-260a98b4FUERA DE USMERSSACIUDAD DE MÉXICOMUJERMICHOACÁN DE OCAMPONaNNaN...NONONO APLICA (CASO SIN MUESTRA)SIPOSITIVO A SARS-COV-2CASO DE SARS-COV-2 CONFIRMADONO ESPECIFICADOMÉXICONO APLICANO APLICA
12132022-06-26044350FUERA DE USMERISSSTECIUDAD DE MÉXICOMUJERMÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)NONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO
22232022-06-26375634USMERISSSTECIUDAD DE MÉXICOMUJERMÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
24252022-06-263d59eaFUERA DE USMERSSACIUDAD DE MÉXICOMUJERGUERREROMÉXICOZUMPANGO...SINONO APLICA (CASO SIN MUESTRA)SIPOSITIVO A SARS-COV-2CASO DE SARS-COV-2 CONFIRMADONO ESPECIFICADOMÉXICONO APLICANO APLICA
..................................................................
132346513234662022-06-26m0b9e6bFUERA DE USMERSSAMÉXICOMUJERGUERRERONaNNaN...NO ESPECIFICADONONO APLICA (CASO SIN MUESTRA)NONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
132346713234682022-06-26m10ccd6FUERA DE USMERSSAMÉXICOMUJERMÉXICONaNNaN...NO ESPECIFICADONONO APLICA (CASO SIN MUESTRA)NONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
132348313234842022-06-26m00d216FUERA DE USMERSSAMÉXICOMUJERMICHOACÁN DE OCAMPONaNNaN...NO ESPECIFICADOSIRESULTADO NO ADECUADONONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
132348713234882022-06-26m0c8c4aFUERA DE USMERSSAMÉXICOMUJERMÉXICONaNNaN...NO ESPECIFICADOSIRESULTADO NO ADECUADONONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
132349113234922022-06-26m139158FUERA DE USMERSSAMÉXICOMUJERGUANAJUATONaNNaN...NO ESPECIFICADONONO APLICA (CASO SIN MUESTRA)NONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
\n", "

144256 rows × 41 columns

\n", "
" ], "text/plain": [ " Unnamed: 0 fecha_actualizacion id_registro origen sector \\\n", "7 8 2022-06-26 0ba73d FUERA DE USMER ISSSTE \n", "9 10 2022-06-26 0a98b4 FUERA DE USMER SSA \n", "12 13 2022-06-26 044350 FUERA DE USMER ISSSTE \n", "22 23 2022-06-26 375634 USMER ISSSTE \n", "24 25 2022-06-26 3d59ea FUERA DE USMER SSA \n", "... ... ... ... ... ... \n", "1323465 1323466 2022-06-26 m0b9e6b FUERA DE USMER SSA \n", "1323467 1323468 2022-06-26 m10ccd6 FUERA DE USMER SSA \n", "1323483 1323484 2022-06-26 m00d216 FUERA DE USMER SSA \n", "1323487 1323488 2022-06-26 m0c8c4a FUERA DE USMER SSA \n", "1323491 1323492 2022-06-26 m139158 FUERA DE USMER SSA \n", "\n", " entidad_um sexo entidad_nac entidad_res \\\n", "7 CIUDAD DE MÉXICO MUJER QUERÉTARO MÉXICO \n", "9 CIUDAD DE MÉXICO MUJER MICHOACÁN DE OCAMPO NaN \n", "12 CIUDAD DE MÉXICO MUJER MÉXICO NaN \n", "22 CIUDAD DE MÉXICO MUJER MÉXICO NaN \n", "24 CIUDAD DE MÉXICO MUJER GUERRERO MÉXICO \n", "... ... ... ... ... \n", "1323465 MÉXICO MUJER GUERRERO NaN \n", "1323467 MÉXICO MUJER MÉXICO NaN \n", "1323483 MÉXICO MUJER MICHOACÁN DE OCAMPO NaN \n", "1323487 MÉXICO MUJER MÉXICO NaN \n", "1323491 MÉXICO MUJER GUANAJUATO NaN \n", "\n", " municipio_res ... otro_caso toma_muestra_lab \\\n", "7 NAUCALPAN DE JUÁREZ ... NO NO \n", "9 NaN ... NO NO \n", "12 NaN ... NO NO \n", "22 NaN ... NO NO \n", "24 ZUMPANGO ... SI NO \n", "... ... ... ... ... \n", "1323465 NaN ... NO ESPECIFICADO NO \n", "1323467 NaN ... NO ESPECIFICADO NO \n", "1323483 NaN ... NO ESPECIFICADO SI \n", "1323487 NaN ... NO ESPECIFICADO SI \n", "1323491 NaN ... NO ESPECIFICADO NO \n", "\n", " resultado_lab toma_muestra_antigeno \\\n", "7 NO APLICA (CASO SIN MUESTRA) NO \n", "9 NO APLICA (CASO SIN MUESTRA) SI \n", "12 NO APLICA (CASO SIN MUESTRA) NO \n", "22 NO APLICA (CASO SIN MUESTRA) SI \n", "24 NO APLICA (CASO SIN MUESTRA) SI \n", "... ... ... \n", "1323465 NO APLICA (CASO SIN MUESTRA) NO \n", "1323467 NO APLICA (CASO SIN MUESTRA) NO \n", "1323483 RESULTADO NO ADECUADO NO \n", "1323487 RESULTADO NO ADECUADO NO \n", "1323491 NO APLICA (CASO SIN MUESTRA) NO \n", "\n", " resultado_antigeno clasificacion_final \\\n", "7 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "9 POSITIVO A SARS-COV-2 CASO DE SARS-COV-2 CONFIRMADO \n", "12 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "22 NEGATIVO A SARS-COV-2 NEGATIVO A SARS-COV-2 \n", "24 POSITIVO A SARS-COV-2 CASO DE SARS-COV-2 CONFIRMADO \n", "... ... ... \n", "1323465 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "1323467 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "1323483 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "1323487 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "1323491 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "\n", " migrante pais_nacionalidad pais_origen uci \n", "7 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "9 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "12 NO ESPECIFICADO MÉXICO NO APLICA NO \n", "22 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "24 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "... ... ... ... ... \n", "1323465 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "1323467 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "1323483 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "1323487 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "1323491 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "\n", "[144256 rows x 41 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "entidad_nac_no_cdmx = casos_mujeres.loc[casos_mujeres['entidad_nac'] != 'CIUDAD DE MÉXICO']\n", "entidad_nac_no_cdmx" ] }, { "cell_type": "markdown", "id": "a2689532", "metadata": {}, "source": [ "Esta forma de seleccionar información es muy relevante cuando solamente nos interesa una parte de la información del conjunto de datos para analizar. Por ejemplo, si queremos averiguar los casos por un Estado en un conjunto de datos nacional, o las cifras nacionales en uno global.\n", "\n", "### Método `.loc` en múltiples columnas\n", "\n", "Los casos anteriores son bastante simples, y si te das cuenta, lo que hicimos fue hacer tres grupos para llegar al resultado deseado. `Pandas` nos ofrece la posibilidad de hacer una selección en múltiples columnas. Por ejemplo, si queremos seleccionar los casos de mujeres de 25 años de edad, nacidas en México, y que no sean de CDMX:" ] }, { "cell_type": "code", "execution_count": 5, "id": "98e73030", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0fecha_actualizacionid_registroorigensectorentidad_umsexoentidad_nacentidad_resmunicipio_res...otro_casotoma_muestra_labresultado_labtoma_muestra_antigenoresultado_antigenoclasificacion_finalmigrantepais_nacionalidadpais_origenuci
3553562022-06-2671baefFUERA DE USMERSSACIUDAD DE MÉXICOMUJERMÉXICOMÉXICOCHALCO...SINONO APLICA (CASO SIN MUESTRA)SIPOSITIVO A SARS-COV-2CASO DE SARS-COV-2 CONFIRMADONO ESPECIFICADOMÉXICONO APLICANO APLICA
142114222022-06-267a7ccbFUERA DE USMERSSACIUDAD DE MÉXICOMUJERMÉXICOMÉXICONEZAHUALCÓYOTL...SINONO APLICA (CASO SIN MUESTRA)SIPOSITIVO A SARS-COV-2CASO DE SARS-COV-2 CONFIRMADONO ESPECIFICADOMÉXICONO APLICANO APLICA
244624472022-06-26b90a4eFUERA DE USMERIMSSCIUDAD DE MÉXICOMUJERMÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)SIPOSITIVO A SARS-COV-2CASO DE SARS-COV-2 CONFIRMADONO ESPECIFICADOMÉXICONO APLICANO APLICA
281528162022-06-26dc9510FUERA DE USMERSSACIUDAD DE MÉXICOMUJERMÉXICOMÉXICOLA PAZ...NONONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
293929402022-06-2692801cFUERA DE USMERSSACIUDAD DE MÉXICOMUJERMÉXICONaNNaN...SINONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
..................................................................
131947113194722022-06-26g0c9923FUERA DE USMERSSACIUDAD DE MÉXICOMUJERMÉXICONaNNaN...SINONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
132007413200752022-06-26g029f84FUERA DE USMERPRIVADACIUDAD DE MÉXICOMUJERMÉXICOMÉXICONEZAHUALCÓYOTL...SINONO APLICA (CASO SIN MUESTRA)SIPOSITIVO A SARS-COV-2CASO DE SARS-COV-2 CONFIRMADONO ESPECIFICADOMÉXICONO APLICANO APLICA
132105213210532022-06-26g1e1667FUERA DE USMERSSACIUDAD DE MÉXICOMUJERMÉXICOMÉXICOTLALNEPANTLA DE BAZ...SINONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
132306113230622022-06-26m1c3e25FUERA DE USMERSSAMÉXICOMUJERMÉXICONaNNaN...NO ESPECIFICADONONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
132317813231792022-06-26m0cbd03FUERA DE USMERSSAMÉXICOMUJERMÉXICONaNNaN...NO ESPECIFICADOSIRESULTADO NO ADECUADONONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
\n", "

2126 rows × 41 columns

\n", "
" ], "text/plain": [ " Unnamed: 0 fecha_actualizacion id_registro origen sector \\\n", "355 356 2022-06-26 71baef FUERA DE USMER SSA \n", "1421 1422 2022-06-26 7a7ccb FUERA DE USMER SSA \n", "2446 2447 2022-06-26 b90a4e FUERA DE USMER IMSS \n", "2815 2816 2022-06-26 dc9510 FUERA DE USMER SSA \n", "2939 2940 2022-06-26 92801c FUERA DE USMER SSA \n", "... ... ... ... ... ... \n", "1319471 1319472 2022-06-26 g0c9923 FUERA DE USMER SSA \n", "1320074 1320075 2022-06-26 g029f84 FUERA DE USMER PRIVADA \n", "1321052 1321053 2022-06-26 g1e1667 FUERA DE USMER SSA \n", "1323061 1323062 2022-06-26 m1c3e25 FUERA DE USMER SSA \n", "1323178 1323179 2022-06-26 m0cbd03 FUERA DE USMER SSA \n", "\n", " entidad_um sexo entidad_nac entidad_res municipio_res \\\n", "355 CIUDAD DE MÉXICO MUJER MÉXICO MÉXICO CHALCO \n", "1421 CIUDAD DE MÉXICO MUJER MÉXICO MÉXICO NEZAHUALCÓYOTL \n", "2446 CIUDAD DE MÉXICO MUJER MÉXICO NaN NaN \n", "2815 CIUDAD DE MÉXICO MUJER MÉXICO MÉXICO LA PAZ \n", "2939 CIUDAD DE MÉXICO MUJER MÉXICO NaN NaN \n", "... ... ... ... ... ... \n", "1319471 CIUDAD DE MÉXICO MUJER MÉXICO NaN NaN \n", "1320074 CIUDAD DE MÉXICO MUJER MÉXICO MÉXICO NEZAHUALCÓYOTL \n", "1321052 CIUDAD DE MÉXICO MUJER MÉXICO MÉXICO TLALNEPANTLA DE BAZ \n", "1323061 MÉXICO MUJER MÉXICO NaN NaN \n", "1323178 MÉXICO MUJER MÉXICO NaN NaN \n", "\n", " ... otro_caso toma_muestra_lab resultado_lab \\\n", "355 ... SI NO NO APLICA (CASO SIN MUESTRA) \n", "1421 ... SI NO NO APLICA (CASO SIN MUESTRA) \n", "2446 ... NO NO NO APLICA (CASO SIN MUESTRA) \n", "2815 ... NO NO NO APLICA (CASO SIN MUESTRA) \n", "2939 ... SI NO NO APLICA (CASO SIN MUESTRA) \n", "... ... ... ... ... \n", "1319471 ... SI NO NO APLICA (CASO SIN MUESTRA) \n", "1320074 ... SI NO NO APLICA (CASO SIN MUESTRA) \n", "1321052 ... SI NO NO APLICA (CASO SIN MUESTRA) \n", "1323061 ... NO ESPECIFICADO NO NO APLICA (CASO SIN MUESTRA) \n", "1323178 ... NO ESPECIFICADO SI RESULTADO NO ADECUADO \n", "\n", " toma_muestra_antigeno resultado_antigeno \\\n", "355 SI POSITIVO A SARS-COV-2 \n", "1421 SI POSITIVO A SARS-COV-2 \n", "2446 SI POSITIVO A SARS-COV-2 \n", "2815 SI NEGATIVO A SARS-COV-2 \n", "2939 SI NEGATIVO A SARS-COV-2 \n", "... ... ... \n", "1319471 SI NEGATIVO A SARS-COV-2 \n", "1320074 SI POSITIVO A SARS-COV-2 \n", "1321052 SI NEGATIVO A SARS-COV-2 \n", "1323061 SI NEGATIVO A SARS-COV-2 \n", "1323178 NO NO APLICA (CASO SIN MUESTRA) \n", "\n", " clasificacion_final migrante pais_nacionalidad \\\n", "355 CASO DE SARS-COV-2 CONFIRMADO NO ESPECIFICADO MÉXICO \n", "1421 CASO DE SARS-COV-2 CONFIRMADO NO ESPECIFICADO MÉXICO \n", "2446 CASO DE SARS-COV-2 CONFIRMADO NO ESPECIFICADO MÉXICO \n", "2815 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "2939 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "... ... ... ... \n", "1319471 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "1320074 CASO DE SARS-COV-2 CONFIRMADO NO ESPECIFICADO MÉXICO \n", "1321052 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "1323061 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "1323178 CASO SOSPECHOSO NO ESPECIFICADO MÉXICO \n", "\n", " pais_origen uci \n", "355 NO APLICA NO APLICA \n", "1421 NO APLICA NO APLICA \n", "2446 NO APLICA NO APLICA \n", "2815 NO APLICA NO APLICA \n", "2939 NO APLICA NO APLICA \n", "... ... ... \n", "1319471 NO APLICA NO APLICA \n", "1320074 NO APLICA NO APLICA \n", "1321052 NO APLICA NO APLICA \n", "1323061 NO APLICA NO APLICA \n", "1323178 NO APLICA NO APLICA \n", "\n", "[2126 rows x 41 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "casos_mujeres_25_mexico = casos_mujeres.loc[(casos_mujeres['edad'] == 25) & (casos_mujeres['entidad_nac'] == 'MÉXICO') & (casos_mujeres['entidad_nac'] != 'CIUDAD DE MÉXICO')]\n", "casos_mujeres_25_mexico" ] }, { "cell_type": "markdown", "id": "b7648a7e", "metadata": {}, "source": [ "Si observas con atención, notarás que lo que hicimos fue encadenar varias peticiones en una sola. Para ello nos servimos del operador `&` ('and') que es un operador lógico [^footnote1].\n", "\n", "O, los casos que corresponden a mujeres **o** migrantes. En este caso usaremos el operador `|`:" ] }, { "cell_type": "code", "execution_count": 6, "id": "58b158c3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "total casos: 735841\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0fecha_actualizacionid_registroorigensectorentidad_umsexoentidad_nacentidad_resmunicipio_res...otro_casotoma_muestra_labresultado_labtoma_muestra_antigenoresultado_antigenoclasificacion_finalmigrantepais_nacionalidadpais_origenuci
452022-06-2613c92bFUERA DE USMERSSACIUDAD DE MÉXICOMUJERCIUDAD DE MÉXICONaNNaN...SINONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
562022-06-2604f190FUERA DE USMERISSSTECIUDAD DE MÉXICOMUJERCIUDAD DE MÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)NONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
782022-06-260ba73dFUERA DE USMERISSSTECIUDAD DE MÉXICOMUJERQUERÉTAROMÉXICONAUCALPAN DE JUÁREZ...NONONO APLICA (CASO SIN MUESTRA)NONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
9102022-06-260a98b4FUERA DE USMERSSACIUDAD DE MÉXICOMUJERMICHOACÁN DE OCAMPONaNNaN...NONONO APLICA (CASO SIN MUESTRA)SIPOSITIVO A SARS-COV-2CASO DE SARS-COV-2 CONFIRMADONO ESPECIFICADOMÉXICONO APLICANO APLICA
11122022-06-26112072FUERA DE USMERISSSTECIUDAD DE MÉXICOMUJERCIUDAD DE MÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)NONO APLICA (CASO SIN MUESTRA)CASO SOSPECHOSONO ESPECIFICADOMÉXICONO APLICANO APLICA
\n", "

5 rows × 41 columns

\n", "
" ], "text/plain": [ " Unnamed: 0 fecha_actualizacion id_registro origen sector \\\n", "4 5 2022-06-26 13c92b FUERA DE USMER SSA \n", "5 6 2022-06-26 04f190 FUERA DE USMER ISSSTE \n", "7 8 2022-06-26 0ba73d FUERA DE USMER ISSSTE \n", "9 10 2022-06-26 0a98b4 FUERA DE USMER SSA \n", "11 12 2022-06-26 112072 FUERA DE USMER ISSSTE \n", "\n", " entidad_um sexo entidad_nac entidad_res \\\n", "4 CIUDAD DE MÉXICO MUJER CIUDAD DE MÉXICO NaN \n", "5 CIUDAD DE MÉXICO MUJER CIUDAD DE MÉXICO NaN \n", "7 CIUDAD DE MÉXICO MUJER QUERÉTARO MÉXICO \n", "9 CIUDAD DE MÉXICO MUJER MICHOACÁN DE OCAMPO NaN \n", "11 CIUDAD DE MÉXICO MUJER CIUDAD DE MÉXICO NaN \n", "\n", " municipio_res ... otro_caso toma_muestra_lab \\\n", "4 NaN ... SI NO \n", "5 NaN ... NO NO \n", "7 NAUCALPAN DE JUÁREZ ... NO NO \n", "9 NaN ... NO NO \n", "11 NaN ... NO NO \n", "\n", " resultado_lab toma_muestra_antigeno \\\n", "4 NO APLICA (CASO SIN MUESTRA) SI \n", "5 NO APLICA (CASO SIN MUESTRA) NO \n", "7 NO APLICA (CASO SIN MUESTRA) NO \n", "9 NO APLICA (CASO SIN MUESTRA) SI \n", "11 NO APLICA (CASO SIN MUESTRA) NO \n", "\n", " resultado_antigeno clasificacion_final \\\n", "4 NEGATIVO A SARS-COV-2 NEGATIVO A SARS-COV-2 \n", "5 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "7 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "9 POSITIVO A SARS-COV-2 CASO DE SARS-COV-2 CONFIRMADO \n", "11 NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO \n", "\n", " migrante pais_nacionalidad pais_origen uci \n", "4 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "5 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "7 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "9 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "11 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA \n", "\n", "[5 rows x 41 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "casos_mujeres_migrantes = covid_nacional.loc[(covid_nacional['sexo'] == 'MUJER') | (covid_nacional['migrante'] == 'SI')]\n", "print(f'total casos: {casos_mujeres_migrantes.shape[0]}')\n", "casos_mujeres_migrantes.head()" ] }, { "cell_type": "markdown", "id": "1397156a", "metadata": {}, "source": [ "Notarás que se regresa una cantidad diferente de filas dependiendo del condicional. Esto simplemente se debe a que estamos utilizando un operador lógico. Así, `pandas` selecciona la información según lo siguiente[^footnote2]:\n", "\n", "* busca (`loc`) las filas en la columna `sexo` que cumplen con la condición `'MUJER'` y con la condición `'SI'` en la columna `migrante`. Todas las filas que no cumplan con esa condición en ambas columnas serán descartadas.\n", "* busca las filas de la columnna `sexo` que cumplan con la condición `'MUJER'` o las filas de la columna `migrante` que cumplan con la condición `'SI'`. En este caso, solamente descarta las filas que no cumplan con una de las condiciones. Por esa razón nos devolverá todos los casos donde aparezca `'MUJER'` en la columna `sexo` y todos los casos donde aparezca `'SI'` en la columna `migrante`.\n", "\n", "## El método `.iloc`\n", "\n", "El método `.iloc` permite seleccionar filas y columnas por su índice. Por ejemplo, si quisiera seleccionar las tres primeras filas del conjunto de datos:" ] }, { "cell_type": "code", "execution_count": 7, "id": "dd58d8b4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0fecha_actualizacionid_registroorigensectorentidad_umsexoentidad_nacentidad_resmunicipio_res...otro_casotoma_muestra_labresultado_labtoma_muestra_antigenoresultado_antigenoclasificacion_finalmigrantepais_nacionalidadpais_origenuci
012022-06-260793b8FUERA DE USMERSSACIUDAD DE MÉXICOHOMBRECIUDAD DE MÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
122022-06-260fef08USMERSSACIUDAD DE MÉXICOHOMBRECIUDAD DE MÉXICONaNNaN...NOSIPOSITIVO A SARS-COV-2NONO APLICA (CASO SIN MUESTRA)CASO DE SARS-COV-2 CONFIRMADONO ESPECIFICADOMÉXICONO APLICANO APLICA
232022-06-2611e31aFUERA DE USMERSSACIUDAD DE MÉXICOHOMBRECIUDAD DE MÉXICONaNNaN...NONONO APLICA (CASO SIN MUESTRA)SINEGATIVO A SARS-COV-2NEGATIVO A SARS-COV-2NO ESPECIFICADOMÉXICONO APLICANO APLICA
\n", "

3 rows × 41 columns

\n", "
" ], "text/plain": [ " Unnamed: 0 fecha_actualizacion id_registro origen sector \\\n", "0 1 2022-06-26 0793b8 FUERA DE USMER SSA \n", "1 2 2022-06-26 0fef08 USMER SSA \n", "2 3 2022-06-26 11e31a FUERA DE USMER SSA \n", "\n", " entidad_um sexo entidad_nac entidad_res municipio_res ... \\\n", "0 CIUDAD DE MÉXICO HOMBRE CIUDAD DE MÉXICO NaN NaN ... \n", "1 CIUDAD DE MÉXICO HOMBRE CIUDAD DE MÉXICO NaN NaN ... \n", "2 CIUDAD DE MÉXICO HOMBRE CIUDAD DE MÉXICO NaN NaN ... \n", "\n", " otro_caso toma_muestra_lab resultado_lab \\\n", "0 NO NO NO APLICA (CASO SIN MUESTRA) \n", "1 NO SI POSITIVO A SARS-COV-2 \n", "2 NO NO NO APLICA (CASO SIN MUESTRA) \n", "\n", " toma_muestra_antigeno resultado_antigeno \\\n", "0 SI NEGATIVO A SARS-COV-2 \n", "1 NO NO APLICA (CASO SIN MUESTRA) \n", "2 SI NEGATIVO A SARS-COV-2 \n", "\n", " clasificacion_final migrante pais_nacionalidad \\\n", "0 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "1 CASO DE SARS-COV-2 CONFIRMADO NO ESPECIFICADO MÉXICO \n", "2 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO \n", "\n", " pais_origen uci \n", "0 NO APLICA NO APLICA \n", "1 NO APLICA NO APLICA \n", "2 NO APLICA NO APLICA \n", "\n", "[3 rows x 41 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tres_filas = covid_nacional.iloc[:3]\n", "tres_filas" ] }, { "cell_type": "markdown", "id": "529ce0cc", "metadata": {}, "source": [ "Ahora, podríamos seleccionar las columnas 1 a 5 de las filas 1 a 3:" ] }, { "cell_type": "code", "execution_count": 8, "id": "4928dc3a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
fecha_actualizacionid_registroorigensector
02022-06-260793b8FUERA DE USMERSSA
12022-06-260fef08USMERSSA
22022-06-2611e31aFUERA DE USMERSSA
\n", "
" ], "text/plain": [ " fecha_actualizacion id_registro origen sector\n", "0 2022-06-26 0793b8 FUERA DE USMER SSA\n", "1 2022-06-26 0fef08 USMER SSA\n", "2 2022-06-26 11e31a FUERA DE USMER SSA" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "filas_columnas = covid_nacional.iloc[:3, 1:5]\n", "filas_columnas" ] }, { "cell_type": "markdown", "id": "e8509df0", "metadata": {}, "source": [ "En información muy bien estructurada, este método permite acceder a información sin preocuparnos por el tipo de dato o la forma en la cual fue escrita la celda. En general, si la información es creada a través de un gestor de base de datos el método `.iloc` puede ser muy útil. Es además más rápido que el método `.loc`, puesto que no tiene que buscar coincidencias sino seleccionar información dentro de una matriz.\n", "\n", "## Notas\n", "\n", "[^footnote1]: En Python el posible utilizar el operador lógico `and`, pero en `pandas` no es permitido. Si quieres profundizar sobre esto puedes consultar el artículo de [Àlex Escolà Nixon en Towards Data Science](https://towardsdatascience.com/bitwise-operators-and-chaining-comparisons-in-pandas-d3a559487525).\n", "\n", "[^footnote2]: En este curso no podemos profundizar en lógica y teoría de conjuntos, pero puedo recomendar el primer capítulo del libro de {cite}`juola_six_2017` para una introducción bastante comprensible de la lógica. Para la teoría de conjuntos, el capítulo de {cite}`flanders_gentle_2019` es una introducción sencilla y completa." ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", "formats": "md:myst", "text_representation": { "extension": ".md", "format_name": "myst", "format_version": 0.13, "jupytext_version": "1.14.0" } }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.7" }, "source_map": [ 14, 24, 33, 36, 40, 43, 53, 56, 64, 67, 73, 77, 88, 91, 95, 98 ] }, "nbformat": 4, "nbformat_minor": 5 }