Selección de datos
Contents
Selección de datos#
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.
El método .loc
#
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:
casos_mujeres = covid_nacional.loc[covid_nacional['sexo'] == 'MUJER']
casos_mujeres.head()
Unnamed: 0 | fecha_actualizacion | id_registro | origen | sector | entidad_um | sexo | entidad_nac | entidad_res | municipio_res | ... | otro_caso | toma_muestra_lab | resultado_lab | toma_muestra_antigeno | resultado_antigeno | clasificacion_final | migrante | pais_nacionalidad | pais_origen | uci | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4 | 5 | 2022-06-26 | 13c92b | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | SI | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
5 | 6 | 2022-06-26 | 04f190 | FUERA DE USMER | ISSSTE | CIUDAD DE MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
7 | 8 | 2022-06-26 | 0ba73d | FUERA DE USMER | ISSSTE | CIUDAD DE MÉXICO | MUJER | QUERÉTARO | MÉXICO | NAUCALPAN DE JUÁREZ | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
9 | 10 | 2022-06-26 | 0a98b4 | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | MICHOACÁN DE OCAMPO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | SI | POSITIVO A SARS-COV-2 | CASO DE SARS-COV-2 CONFIRMADO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
11 | 12 | 2022-06-26 | 112072 | FUERA DE USMER | ISSSTE | CIUDAD DE MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
5 rows × 41 columns
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:
mujeres_25 = casos_mujeres.loc[casos_mujeres['edad'] == 25]
mujeres_25
Unnamed: 0 | fecha_actualizacion | id_registro | origen | sector | entidad_um | sexo | entidad_nac | entidad_res | municipio_res | ... | otro_caso | toma_muestra_lab | resultado_lab | toma_muestra_antigeno | resultado_antigeno | clasificacion_final | migrante | pais_nacionalidad | pais_origen | uci | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
76 | 77 | 2022-06-26 | 1eaf9d | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
120 | 121 | 2022-06-26 | c54e7c | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
176 | 177 | 2022-06-26 | 4a7184 | FUERA DE USMER | ISSSTE | CIUDAD DE MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
355 | 356 | 2022-06-26 | 71baef | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | MÉXICO | MÉXICO | CHALCO | ... | SI | NO | NO APLICA (CASO SIN MUESTRA) | SI | POSITIVO A SARS-COV-2 | CASO DE SARS-COV-2 CONFIRMADO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
750 | 751 | 2022-06-26 | 65cd8e | USMER | SSA | CIUDAD DE MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1322903 | 1322904 | 2022-06-26 | m10d115 | FUERA DE USMER | SSA | MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | NO ESPECIFICADO | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1323061 | 1323062 | 2022-06-26 | m1c3e25 | FUERA DE USMER | SSA | MÉXICO | MUJER | MÉXICO | NaN | NaN | ... | NO ESPECIFICADO | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1323178 | 1323179 | 2022-06-26 | m0cbd03 | FUERA DE USMER | SSA | MÉXICO | MUJER | MÉXICO | NaN | NaN | ... | NO ESPECIFICADO | SI | RESULTADO NO ADECUADO | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1323288 | 1323289 | 2022-06-26 | m04a712 | FUERA DE USMER | SSA | MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | NO ESPECIFICADO | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1323350 | 1323351 | 2022-06-26 | m00101e | FUERA DE USMER | PRIVADA | MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | NO ESPECIFICADO | NO | NO APLICA (CASO SIN MUESTRA) | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
16002 rows × 41 columns
Para resaltar
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
).Para evitar procesar todo el dataframe nuevamente, lo que hicimos fue acotar el grupo que hicimos con el primer resultado (
casos_mujeres
).
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
:
entidad_nac_no_cdmx = casos_mujeres.loc[casos_mujeres['entidad_nac'] != 'CIUDAD DE MÉXICO']
entidad_nac_no_cdmx
Unnamed: 0 | fecha_actualizacion | id_registro | origen | sector | entidad_um | sexo | entidad_nac | entidad_res | municipio_res | ... | otro_caso | toma_muestra_lab | resultado_lab | toma_muestra_antigeno | resultado_antigeno | clasificacion_final | migrante | pais_nacionalidad | pais_origen | uci | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7 | 8 | 2022-06-26 | 0ba73d | FUERA DE USMER | ISSSTE | CIUDAD DE MÉXICO | MUJER | QUERÉTARO | MÉXICO | NAUCALPAN DE JUÁREZ | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
9 | 10 | 2022-06-26 | 0a98b4 | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | MICHOACÁN DE OCAMPO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | SI | POSITIVO A SARS-COV-2 | CASO DE SARS-COV-2 CONFIRMADO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
12 | 13 | 2022-06-26 | 044350 | FUERA DE USMER | ISSSTE | CIUDAD DE MÉXICO | MUJER | MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO |
22 | 23 | 2022-06-26 | 375634 | USMER | ISSSTE | CIUDAD DE MÉXICO | MUJER | MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
24 | 25 | 2022-06-26 | 3d59ea | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | GUERRERO | MÉXICO | ZUMPANGO | ... | SI | NO | NO APLICA (CASO SIN MUESTRA) | SI | POSITIVO A SARS-COV-2 | CASO DE SARS-COV-2 CONFIRMADO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1323465 | 1323466 | 2022-06-26 | m0b9e6b | FUERA DE USMER | SSA | MÉXICO | MUJER | GUERRERO | NaN | NaN | ... | NO ESPECIFICADO | NO | NO APLICA (CASO SIN MUESTRA) | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1323467 | 1323468 | 2022-06-26 | m10ccd6 | FUERA DE USMER | SSA | MÉXICO | MUJER | MÉXICO | NaN | NaN | ... | NO ESPECIFICADO | NO | NO APLICA (CASO SIN MUESTRA) | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1323483 | 1323484 | 2022-06-26 | m00d216 | FUERA DE USMER | SSA | MÉXICO | MUJER | MICHOACÁN DE OCAMPO | NaN | NaN | ... | NO ESPECIFICADO | SI | RESULTADO NO ADECUADO | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1323487 | 1323488 | 2022-06-26 | m0c8c4a | FUERA DE USMER | SSA | MÉXICO | MUJER | MÉXICO | NaN | NaN | ... | NO ESPECIFICADO | SI | RESULTADO NO ADECUADO | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1323491 | 1323492 | 2022-06-26 | m139158 | FUERA DE USMER | SSA | MÉXICO | MUJER | GUANAJUATO | NaN | NaN | ... | NO ESPECIFICADO | NO | NO APLICA (CASO SIN MUESTRA) | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
144256 rows × 41 columns
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.
Método .loc
en múltiples columnas#
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:
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')]
casos_mujeres_25_mexico
Unnamed: 0 | fecha_actualizacion | id_registro | origen | sector | entidad_um | sexo | entidad_nac | entidad_res | municipio_res | ... | otro_caso | toma_muestra_lab | resultado_lab | toma_muestra_antigeno | resultado_antigeno | clasificacion_final | migrante | pais_nacionalidad | pais_origen | uci | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
355 | 356 | 2022-06-26 | 71baef | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | MÉXICO | MÉXICO | CHALCO | ... | SI | NO | NO APLICA (CASO SIN MUESTRA) | SI | POSITIVO A SARS-COV-2 | CASO DE SARS-COV-2 CONFIRMADO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1421 | 1422 | 2022-06-26 | 7a7ccb | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | MÉXICO | MÉXICO | NEZAHUALCÓYOTL | ... | SI | NO | NO APLICA (CASO SIN MUESTRA) | SI | POSITIVO A SARS-COV-2 | CASO DE SARS-COV-2 CONFIRMADO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
2446 | 2447 | 2022-06-26 | b90a4e | FUERA DE USMER | IMSS | CIUDAD DE MÉXICO | MUJER | MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | SI | POSITIVO A SARS-COV-2 | CASO DE SARS-COV-2 CONFIRMADO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
2815 | 2816 | 2022-06-26 | dc9510 | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | MÉXICO | MÉXICO | LA PAZ | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
2939 | 2940 | 2022-06-26 | 92801c | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | MÉXICO | NaN | NaN | ... | SI | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1319471 | 1319472 | 2022-06-26 | g0c9923 | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | MÉXICO | NaN | NaN | ... | SI | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1320074 | 1320075 | 2022-06-26 | g029f84 | FUERA DE USMER | PRIVADA | CIUDAD DE MÉXICO | MUJER | MÉXICO | MÉXICO | NEZAHUALCÓYOTL | ... | SI | NO | NO APLICA (CASO SIN MUESTRA) | SI | POSITIVO A SARS-COV-2 | CASO DE SARS-COV-2 CONFIRMADO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1321052 | 1321053 | 2022-06-26 | g1e1667 | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | MÉXICO | MÉXICO | TLALNEPANTLA DE BAZ | ... | SI | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1323061 | 1323062 | 2022-06-26 | m1c3e25 | FUERA DE USMER | SSA | MÉXICO | MUJER | MÉXICO | NaN | NaN | ... | NO ESPECIFICADO | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1323178 | 1323179 | 2022-06-26 | m0cbd03 | FUERA DE USMER | SSA | MÉXICO | MUJER | MÉXICO | NaN | NaN | ... | NO ESPECIFICADO | SI | RESULTADO NO ADECUADO | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
2126 rows × 41 columns
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 1.
O, los casos que corresponden a mujeres o migrantes. En este caso usaremos el operador |
:
casos_mujeres_migrantes = covid_nacional.loc[(covid_nacional['sexo'] == 'MUJER') | (covid_nacional['migrante'] == 'SI')]
print(f'total casos: {casos_mujeres_migrantes.shape[0]}')
casos_mujeres_migrantes.head()
total casos: 735841
Unnamed: 0 | fecha_actualizacion | id_registro | origen | sector | entidad_um | sexo | entidad_nac | entidad_res | municipio_res | ... | otro_caso | toma_muestra_lab | resultado_lab | toma_muestra_antigeno | resultado_antigeno | clasificacion_final | migrante | pais_nacionalidad | pais_origen | uci | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4 | 5 | 2022-06-26 | 13c92b | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | SI | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
5 | 6 | 2022-06-26 | 04f190 | FUERA DE USMER | ISSSTE | CIUDAD DE MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
7 | 8 | 2022-06-26 | 0ba73d | FUERA DE USMER | ISSSTE | CIUDAD DE MÉXICO | MUJER | QUERÉTARO | MÉXICO | NAUCALPAN DE JUÁREZ | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
9 | 10 | 2022-06-26 | 0a98b4 | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | MUJER | MICHOACÁN DE OCAMPO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | SI | POSITIVO A SARS-COV-2 | CASO DE SARS-COV-2 CONFIRMADO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
11 | 12 | 2022-06-26 | 112072 | FUERA DE USMER | ISSSTE | CIUDAD DE MÉXICO | MUJER | CIUDAD DE MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | NO | NO APLICA (CASO SIN MUESTRA) | CASO SOSPECHOSO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
5 rows × 41 columns
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 siguiente2:
busca (
loc
) las filas en la columnasexo
que cumplen con la condición'MUJER'
y con la condición'SI'
en la columnamigrante
. Todas las filas que no cumplan con esa condición en ambas columnas serán descartadas.busca las filas de la columnna
sexo
que cumplan con la condición'MUJER'
o las filas de la columnamigrante
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 columnasexo
y todos los casos donde aparezca'SI'
en la columnamigrante
.
El método .iloc
#
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:
tres_filas = covid_nacional.iloc[:3]
tres_filas
Unnamed: 0 | fecha_actualizacion | id_registro | origen | sector | entidad_um | sexo | entidad_nac | entidad_res | municipio_res | ... | otro_caso | toma_muestra_lab | resultado_lab | toma_muestra_antigeno | resultado_antigeno | clasificacion_final | migrante | pais_nacionalidad | pais_origen | uci | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2022-06-26 | 0793b8 | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | HOMBRE | CIUDAD DE MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
1 | 2 | 2022-06-26 | 0fef08 | USMER | SSA | CIUDAD DE MÉXICO | HOMBRE | CIUDAD DE MÉXICO | NaN | NaN | ... | NO | SI | POSITIVO A SARS-COV-2 | NO | NO APLICA (CASO SIN MUESTRA) | CASO DE SARS-COV-2 CONFIRMADO | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
2 | 3 | 2022-06-26 | 11e31a | FUERA DE USMER | SSA | CIUDAD DE MÉXICO | HOMBRE | CIUDAD DE MÉXICO | NaN | NaN | ... | NO | NO | NO APLICA (CASO SIN MUESTRA) | SI | NEGATIVO A SARS-COV-2 | NEGATIVO A SARS-COV-2 | NO ESPECIFICADO | MÉXICO | NO APLICA | NO APLICA |
3 rows × 41 columns
Ahora, podríamos seleccionar las columnas 1 a 5 de las filas 1 a 3:
filas_columnas = covid_nacional.iloc[:3, 1:5]
filas_columnas
fecha_actualizacion | id_registro | origen | sector | |
---|---|---|---|---|
0 | 2022-06-26 | 0793b8 | FUERA DE USMER | SSA |
1 | 2022-06-26 | 0fef08 | USMER | SSA |
2 | 2022-06-26 | 11e31a | FUERA DE USMER | SSA |
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.
Notas#
- 1
En Python el posible utilizar el operador lógico
and
, pero enpandas
no es permitido. Si quieres profundizar sobre esto puedes consultar el artículo de Àlex Escolà Nixon en Towards Data Science.- 2
En este curso no podemos profundizar en lógica y teoría de conjuntos, pero puedo recomendar el primer capítulo del libro de [Juola and Ramsay, 2017] para una introducción bastante comprensible de la lógica. Para la teoría de conjuntos, el capítulo de [Jannidis and Flanders, 2019] es una introducción sencilla y completa.