Análisis de Datos Usando Web Scraping y PySpark



 

En esta publicación, exploraremos cómo extraer datos de COVID-19 de una página web utilizando Web Scraping con BeautifulSoup y cómo analizarlos empleando PySpark. Finalmente, visualizaremos los resultados con Matplotlib. Convertimos el DataFrame de PySpark a Pandas para facilitar la visualización, seleccionamos los 10 países con más casos totales y los visualizamos en un gráfico de barras horizontales.


Usaremos requests para obtener el contenido de la página web y BeautifulSoup para extraer la tabla con los datos de COVID-19 provienientes de la página worldometers.



Código para la Extracción:


Usamos requests.get() para descargar el contenido de la página web, con BeautifulSoup, localizamos la tabla que contiene los datos de interés.

Iteramos sobre las filas de la tabla (<tr>) y extraemos las celdas (<td>), limitándonos a las primeras 50 filas.


Limpieza y Filtrado de Datos

No todos los datos extraídos son relevantes. Eliminamos filas de regiones y valores no numéricos. Además, limpiamos columnas para eliminar comas o espacios innecesarios.




Filtramos filas donde el nombre del país sea alfabético y no pertenezca a regiones globales como "North America", eliminamos comas (,) y otros caracteres innecesarios de los valores numéricos. Finalmente, imprimimos los datos limpios.


Cargar y Analizar Datos en PySpark

Utilizamos PySpark para cargar los datos y realizar análisis estadísticos.





Creamos un DataFrame de PySpark usando los datos limpios, convertimos columnas numéricas como "Casos Totales" y "Muertes Totales" a tipo int. Utilizamos describe() para calcular estadísticas básicas como promedio y desviación estándar.


Ordenar y Completar Datos Faltantes

Llenamos valores nulos con 0 y ordenamos el DataFrame por "Casos Totales".



Los valores faltantes en "Casos Totales" se rellenan con 0 para evitar problemas en el análisis. Ordenamos los datos en orden descendente por número de casos totales.


Visualización con Matplotlib

Finalmente, visualizamos los 10 países con más casos totales utilizando un gráfico de barras horizontales.


Código para Visualización



Convertimos el DataFrame de PySpark a Pandas para facilitar la visualización y seleccionamos los 10 países con más casos totales y los visualizamos en un gráfico de barras horizontales.


No hay comentarios.:

Publicar un comentario