La Ciencia de Datos es un conjunto de técnicas que trabaja en analizar e interpretar información útil y valiosa detrás de grandes volúmenes de datos que se generan todos los días en los más diversos sectores. En este contexto, surge también la visualización de datos, que desempeña un papel importante cuando necesitamos identificar problemas, anomalías y tendencias en el proceso de análisis de datos. Por lo tanto, es una herramienta esencial tanto para profesionales de datos como para el público en general que consume esta información.
Para resolver estas tareas, surgen bibliotecas con el objetivo de unir la visualización de datos con el poder de Python y sus bibliotecas para Data Science, como NumPy y Pandas, que ya actúan en toda la cadena de trabajo de extracción, limpieza y transformación de datos.
En este artículo, vamos a conocer un poco más sobre la visualización de datos y algunas bibliotecas muy utilizadas.
La visualización de datos, también conocida por términos como data visualization o DataViz, es el conjunto de técnicas para representar información y datos de forma visual de manera comprensible, con el fin de transmitir los resultados del análisis de datos. Estas técnicas se utilizan para transformar grandes conjuntos de datos y registros en gráficos, tablas y diagramas que pueden ser procesados más fácilmente por cualquier persona.
Por ejemplo, utilizando un conjunto de datos (dataset) como el Iris, que posee 150 registros con la longitud de sépalos y pétalos de algunas especies de flores Iris (a saber, virginica, versicolor y setosa), podemos presentar la información contenida en este conjunto de diversas maneras. En este caso, podemos exponer la tabla de datos directamente:
sepal length (cm) | petal length (cm) | class | |
---|---|---|---|
0 | 5.1 | 1.4 | setosa |
1 | 4.9 | 1.4 | setosa |
2 | 4.7 | 1.3 | setosa |
3 | 4.6 | 1.5 | setosa |
4 | 5.0 | 1.4 | setosa |
.. | ... | ... | ... |
145 | 6.7 | 5.2 | virginica |
146 | 6.3 | 5.0 | virginica |
147 | 6.5 | 5.2 | virginica |
148 | 6.2 | 5.4 | virginica |
149 | 5.9 | 5.1 | virginica |
O a través del uso de gráficos, resumiendo la información de este conjunto de datos de manera visual. El ejemplo abajo es un gráfico de dispersión (scatter) que muestra los mismos registros de la tabla completa anterior:
De esta manera, conseguimos generar insights de forma más rápida y con un lenguaje sencillo. Para analizar el gráfico de arriba, no se necesita mucho conocimiento técnico para comprender las características individuales de cada especie de Iris, los tamaños mínimos y máximos, o qué especie tiene pétalo o sépalo más grande, por ejemplo. Esto facilita el proceso de observar y comunicar resultados en el análisis de datos.
En la Ciencia de Datos, la visualización tiene el papel fundamental de conectar los sectores de cada área de negocio. Los proyectos son ejecutados por analistas y científicos de datos y pasan por una fase en la cual se presentan los resultados de manera estructurada.
En este punto, se crea un storytelling (una manera de presentar información al público objetivo) y, para dar soporte a este proceso creativo y analítico, los datos se transforman en resultados mediante indicadores o KPIs.
Dejo este AluraMás sobre los fundamentos del Storytelling con la instructora Layla Schelli.
El inglés es el idioma utilizado para estructurar los códigos en Python y sus bibliotecas. Por lo tanto, es importante conocer algunos de los términos utilizados en tareas de visualización de datos, tales como:
Término [en inglés] | Traducción | Observaciones |
---|---|---|
Chart | Gráfico | Generalmente se acompaña del tipo de gráfico. Ej: Pie Chart (Pastel), Bar Chart (Barras), Line Chart (Líneas), Bubble Chart (Burbujas), etc. |
Plot | Trazado | Producción de una imagen mediante dibujos y líneas. Acción de construir el gráfico. |
Axis / Axes | Eje | Eje de los gráficos. Idea análoga a Matemáticas, en la cual tenemos X e Y para el caso 2D y X, Y, Z para el caso 3D. |
Label | Etiqueta | Son las etiquetas que nombran y acompañan cada eje. Generalmente aparecen acompañadas del eje respectivo. Ej: x_label , y_label , etc. |
Grid | Rejilla/Malla | Es la estructura de fondo de un gráfico. Líneas horizontales y verticales espaciadas que sirven de referencia para las unidades de los ejes. |
Legend | Leyenda | Caja de texto descriptivo, que contiene información sobre los elementos del gráfico. Generalmente proporciona información sobre el significado de determinado color o trazo y/o qué variables están siendo trazadas. |
Estos términos también pueden verse a través de la imagen a continuación que muestra la estructura “anatómica” de un gráfico, es decir, cómo se llaman los elementos. Incluso en bibliotecas diferentes, aún podemos observar varias similitudes.
Ahora que ya conocemos los principales términos y componentes de los gráficos y figuras, vamos a pasar a las bibliotecas.
Matplotlib es una de las bibliotecas más populares para la visualización de datos en Python. Creada en 2003 por el científico de la computación John D. Hunter, el proyecto Matplotlib fue desarrollado con el objetivo de promover un entorno de creación de gráficos (plots) similares al del software MATLAB.
El proyecto es de código abierto y cuenta con una variedad de gráficos, como: líneas, dispersión, histogramas, barras, y muchos más. También permite un alto nivel de personalización, desde el trabajo con los colores de cada elemento, fuentes, escalas, entre otros. Para los gráficos en imágenes, es posible trabajar con varios tipos de salida, desde los más comunes como PNG, PDF, JPEG, SVG y EPS, siendo este último un formato bastante utilizado para artículos académicos y técnicos.
La documentación de Matplotlib ofrece dos enlaces interesantes: Plot Types y Examples.
Además de la gran variedad de gráficos 2D estáticos, Matplotlib también permite la creación de animaciones en formato GIF, gráficos en 3D y la combinación de varios gráficos en uno solo (subplots). Todo esto con el uso de módulos específicos dentro de la biblioteca.
En 2012, bajo la dirección del científico de datos estadounidense Michael Waskom, surge Seaborn, una biblioteca de código abierto basada en Matplotlib. Propone una interfaz de alto nivel para trabajar con gráficos más atractivos y con información estadística, con la idea principal de que, según Waskom, “Seaborn convierte cosas difíciles en cosas muy fáciles de hacer”.
La biblioteca se utiliza generalmente en conjunto con otras bibliotecas de análisis de datos, con las que tiene una excelente integración entre sus objetos, como NumPy y Pandas, en los que es posible indicar de manera sencilla las variables que se están utilizando y generar rápidamente resultados.
Seaborn también cuenta con una galería de imágenes de los gráficos realizados utilizando la biblioteca.
Una de las características más importantes de Seaborn es la facilidad para tratar información estadística del conjunto de datos durante el proceso de trazado de los gráficos. En el ejemplo a continuación, construimos un gráfico de histograma y, simplemente agregando el parámetro kde=True
, podemos crear una nueva línea en el gráfico que realiza una estimación de una función estadística para ese mismo conjunto de datos.
import seaborn as sns
sns.histplot(data=df, x='sepal length (cm)', kde=True)
plt.show()
Plotly es una biblioteca de código abierto para la visualización de datos de manera interactiva en Python y que tiene soporte en otros lenguajes de programación. Creada en 2012 por los científicos de datos Alex Johnson, Jack Parmer y Chris Parmer, Plotly llegó al escenario con el objetivo de llenar el vacío en la visualización de datos interactiva.
La principal característica de Plotly es la capacidad de crear gráficos que pueden ser manipulados en tiempo real por los usuarios, permitiendo que la exploración de los datos sea dinámica e inmersiva. En la interfaz del gráfico, es posible usar acciones como disminuir y aumentar el zoom, cambiar la región de observación (pan), aplicar filtros de datos y también animaciones.
Plotly funciona muy bien con varias plataformas usadas en Ciencia de Datos y desarrollo de software, tales como: Jupyter Notebook, Dash (framework de dashboards web), aplicaciones web, Streamlit y ofrece la posibilidad de exportar a HTML para páginas web.
En Plotly, el gráfico de dispersión, mostrado al inicio del artículo, se vuelve interactivo y permite explorar varias acciones.
La galería de gráficos de Plotly está disponible en la página Plotly Open Source Graphing Library for Python y cuenta con diversos ejemplos de gráficos básicos, estadísticos, mapas y varios ejemplos aplicados.
El trabajo con visualización de datos y la creación de gráficos y figuras no termina aquí. También podemos incorporar estos elementos en informes estáticos (documentos, PDFs, etc.) o en informes dinámicos, como los informes y dashboards creados en Power BI. Además, podemos utilizar estos elementos en páginas web, complementando tecnologías como Flask, Django y las tecnologías para webapps orientadas a datos ya mencionadas, como Dash y Streamlit.
¿Te gustó? Aquí en Alura Latam tenemos varios contenidos orientados a Ciencia de Datos y Visualización de Datos. Te invitamos a conocer la Formación Python para Data Science, una trayectoria de estudios completa que comienza en Python, pasa por las principales bibliotecas de Ciencia de Datos (como NumPy y Pandas) y trabaja con las bibliotecas de visualización de datos. ¡Recuerda que no necesitas tener conocimientos previos en programación para empezar!
¡Sumérgete en la Tecnología! 🤿🌊
Contenido: Marcus Almeida
Producción técnica: Rodrigo Dias
Producción didáctica: Morgana Gomes
Diseñador gráfico: Alysson Manso
Este artículo fue traducido y adaptado por Ingrid Silva
Marcus Almeida Estudiante de Ingeniería Eléctrica en el Instituto Federal do Maranhão. Ha formado parte del Scuba Team de la Escuela de Datos en Alura, trabajando con contenidos orientados a Data Science, Machine Learning, Python y SQL. Le encanta hablar sobre tecnología, el universo geek, videojuegos y también aprender cosas nuevas.
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana
Paga en moneda local en los siguientes países
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana
Paga en moneda local en los siguientes países
Puedes realizar el pago de tus planes en moneda local en los siguientes países:
País | |||||||
---|---|---|---|---|---|---|---|
Plan Semestral |
487.37
BOB |
68314.51
CLP |
305385.67
COP |
65.90
USD |
265.11
PEN |
1424.44
MXN |
2977.87
UYU |
Plan Anual |
738.82
BOB |
103560.24
CLP |
462944.29
COP |
99.90
USD |
401.89
PEN |
2159.35
MXN |
4514.26
UYU |
Acceso a todos
los cursos
Estudia las 24 horas,
dónde y cuándo quieras
Nuevos cursos
cada semana