Analizando la data del COVID 19 (SARS-COV-2) con Python 3

Hoy revisaremos como iniciarnos en el análisis de datos leyendo datos desde un archivo CSV… Porque casi todos los datos públicos así se encuentran

Ángel Ramírez
NinjaCom
6 min readJun 8, 2020

--

El día de hoy empezaremos a inmiscuirnos en el mundo del análisis de datos con métodos muy sencillos de la famosa librería pandas.

Retomamos algunos compendios de datos recopilados por Our World in Data, el cual ha tenido la mayor cantidad de datos oficiales respecto a la pandemia ocasionada por el virus del SARS-COV-2.

Este artículo se dividirá en 3partes:

  1. Preparando el entorno de programación.
  2. Preparando los datos.
  3. Generando gráficos para analizar.

Así que si quieres, eres libre de saltarte a la sección que quieras ~

Parte 1.- Preparando el entorno de programación

Antes de empezar…

…“Hay que tener bien claro qué información esperamos visualizar o simplemente podremos jugar un poco hasta que los datos hablen”…

(Alejandro Botello Castillo, Data Mining, ESCOM — IPN, 2018)

Ahora sí, a darle…

Las cosas que vamos a necesitar:

Si no tienes Jupyter notebook instalado en tu computadora, podrás instalarlo como cualquier librería de Python con pip:

$ pip3 install pandas jupyter seaborn

Para echar a andar el notebook ejecuta el comando:

[aramirez@localhost Documentos]$ jupyter notebook

Esto arrancará un servidor en la posición en donde lances el comando. En este caso lo lanzó en la carpeta Documentos.

Parte 2.- Preparando los datos.

Creamos un nuevo notebook y podremos colocar el siguiente código:

Primer bloque de código en Jupyter notebook

Para correrlo, deberán teclear Shift + Enter y el resultado que obtendríamos sería parecido al siguiente. (Ten en cuenta que con el pasar de los días habría más registros…)

Ejecución del bloque de código en jupyter notebooks
Resultado de la ejecución de nuestro primer método en pandas, read_csv()

Es importante que distingas que los datos que leíste son del tipo DataFrame, ya que si quieres seguirte adentrando por tu cuenta en Pandas, necesitarás esta precisión.

Ahora, vamos a hacer algunas tablas y gráficas. Lo que queremos analizar es, cómo se posiciona México en performance de realización de pruebas de COVID-19 en comparación de las grandes potencias y cómo se posiciona con respecto a los demás países de latino america. (Con lo que aprenderás al final de esto, podrás hacerlo con tu propio país)

Agregamos el siguiente bloque de código a nuestro notebook:

Al final, con la salida de ese bloque de código podremos ver si nuestro país figura dentro de la lista y de ahí hacer la comparativa.

Y bueno, los datos del CSV viene con datos desde el 20 de enero de 2020 approx. Vamos a jugar un poco con el intervalo de tiempo y vamos a evaluar los últimos 15 días. (Del 15 de mayo de 2020 al 31 de mayo de 2020). Para eso debemos adecuar la columna de fecha, establecer el límite inferior para filtrar los datos.

NOTA: Los dataframes son un tipo de dato mutable, para evitar mutarlos, clonaremos el dataframe inicial.

Con esto vemos como ahora el dataframe resultante tiene menos filas

Y bien, ahora podemos empezar a jugar con tablas dinámicas o pivot tables, para poder obtener datos de forma condensada a nuestro gusto. Por ejemplo, ¿Cuántas pruebas de COVID-19 han aplicado los países potencia y el nuestro?

Parte 3.- Generando gráficos para analizar.

La salida de este bloque nos traerá una pivot table, con los acumulados de pruebas de COVID-19 que han hecho estos países, pero podemos graficarlo para que se vea más coqueto el resultado…

Pruebas acumuladas realizadas los últimos 15 días por país.

En esta imagen se puede apreciar que Rusia está muy ocupado realizando pruebas de detección de COVID-19, codeándose con su rival, E.E.U.U., mientras que también se puede ver que México en los últimos 15 días, se ha mantenido muy por debajo de E.E.U.U. a pesar de ser países vecinos. Lo mismo vendría ocurriendo con Corea del Sur al ser vecino de China, el lugar donde inició la pandemia.

Si repetimos el mismo proceso, pero ahora comparándolo con los países de latinoamérica, obtendríamos el siguiente resultado:

Pruebas realizadas para enfermedad ocasionada por el SARS-COV-2 en países latinoamericanos

Acá podemos ver que Colombia y Chile han realizado más pruebas de detección de COVID-19 que México.

Evaluemos su performance por día en los últimos 15 días, cambiamos el tipo de gráfico y veríamos lo siguiente:

Performance de aplicación de pruebas por día para detectar COVID-19 en latinoamérica

La linea rosa pertenece a México, podemos ver que dicha linea sigue patrones distintos a los de los demás países. Más porque, los días sábados y domingos, las pruebas que realizan son mucho más bajas que las que se hacen entresemana. En contraste con Chile y Colombia, que incrementan sus exámenes de detección los fines de semana.

Mapa de calor de performance diario por país de pruebas

Con éste tipo de gráficos, se pretende que de forma visual se puedan recuperar datos de forma más rápida… Como por ejemplo, que Chile ha sido el país que más pruebas a hecho en los últimos 15 días y que el día que hizo más fue el 01 de junio, mientras que en México, el día que más pruebas realizó fue el 28 de mayo y el día que menos reportó fue el 03 de junio.

Bonus track…

Si analizamos cuántas muestras se han tomado y lo cruzamos con otros datos, esto se empieza a tornar interesante, como los contagios que han tenido, generando el siguiente resultado. Ojo, se deben comparar TODAS las cifras en el mismo lapso, los últimos 15 días. Archivo CSV con los casos diarios confirmados por país de COVID-19 (Disponible aquí)

Gráfica de barras stacked de Casos reportados por enfermedad de SARS-COV-2 y pruebas de detección realizadas.

En este último gráfico, podemos observar y sacar algunas conclusiones de las pruebas que han hecho. Por ejemplo:

  • Chile ha realizado más pruebas a su población, puesto que es el país con la mayor cifra de contagios en latinoamérica.
  • Cuba, Paraguay, Costa Rica y El Salvador han sido muy proactivos, puesto que han reportado muy pocos casos de infección por SARS-COV-2, y muchas pruebas de detección, que probablemente resultaron negativas.
  • En proporción de contagios y pruebas, Colombia se lleva el premio, puesto que ha reportado que más pruebas que casos confirmados de COVID-19.
  • El caso de Perú es muy curioso, puesto que ha reportado más contagios diarios en los últimos 15 días, que pruebas de detección realizadas.
  • Mientras que México, mantiene un patrón de 60–40, puesto que ha reportado más pruebas de detección que casos positivos de COVID-19, eso es bueno, puesto que han tenido más Falsos Positivos que Falsos negativos.
  • México, es el 3er país con mayor índice de contagios en latinoamérica, de acuerdo a los datos recopilados de Our World in Data.

Este análisis de podría tornar más interesante si se cruza con la proporción de problación infectada de cada país, personas en situación de riesgo y mecanismos implementados en cada gobierno para mitigar o contener los contagios, etc…

Para finalizar, me gustaría concluir que es muy importante que tu análisis tenga un objetivo. Puesto que si no es así, podrías pasarte la vida navegando en un mar de datos sin obtener información provechosa.

Si quieres ver cómo quedó al final el Notebook de este artículo, →pícale aquí← →Puedes visualizar el HTML del notebook acá

Date una vuelta por la serie de Data Science de NinjaCom y por todos los demás artículos.

Ah, y lo más importante: ¡Nunca dejes de aprender!

Happy coding!

--

--

Ángel Ramírez
NinjaCom
Editor for

Ingeniero en Sistemas Computacionales. Fundador de la Comunidad NinjaCom.