R y Python son los dos lenguajes de la ciencia de datos. Se utilizan habitualmente para el cálculo estadístico y la visualización gráfica de los datos para extraer conclusiones y tomar decisiones. R, aunque sigue siendo una sintaxis muy utilizada, pierde poco a poco terreno con respecto a Python, un lenguaje de uso general y que tiene una curva de aprendizaje más accesible que el lenguaje R, sobre todo para los programadores que ya dominan sintaxis como las de C, C++ o Java.
Gracias a la explosión del uso de los datos en las empresas y las facilidades que ofrece Python, el crecimiento profesional de este lenguaje está siendo enorme:
Python es un lenguaje interesante no solo para visualizar datos, sino también por su capacidad para automatizar procesos, extraer datos o usarlo en aprendizaje automático. Con Python podemos cambiar grandes grupos de datos a través de programación sencilla, simplificar la utilización de las APIs para capturar datos con su librería Requests y extraer información con NumPy, scipy, scikit-learn y pandas.
Cada vez más librerías de visualización de datos
Aunque Python sirve para casi todos los campos que engloban la ciencia de datos, las librerías destinadas a la visualización de datos son uno de sus puntos clave. Su número no deja de crecer y esto pretende ser un listado de las más importantes:
1.matplotlib
Gráficos de áreas, histogramas, visualizaciones de líneas, barras, diagramas de dispersión… matplotlib es una de las librerías en Python más utilizadas en ciencia de datos. Gran parte de su éxito es la facilidad que da a los desarrolladores a la hora de diseñar visualizaciones con datos a partir de muy pocas líneas de código y que luego esos gráficos se puedan incluir en cualquier proyecto web.
Con matplotlib también se pueden hacer visualizaciones con mapas (en ese caso es necesario utilizar también Basemap) y en tres dimensiones (mplot3D, un kit de herramientas que añade funcionalidades de diseño en 3D a matplotlib, con la posibilidad de rotar la figura e incluso hacer zoom en la propia visualización).
Como ejemplo de la enorme eficiencia en el uso del código para hacer visualizaciones con matplotlib, un gráfico de dispersión como ejemplo:
“””
Simple demo of a scatter plot.
“””
import numpy as np
import matplotlib.pyplot as plt
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = np.pi * (15 * np.random.rand(N))**2 # 0 to 15 point radiuses
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.show()
2. Seaborn
Seaborn es una librería de visualización de datos en Python basada en matplotlib. La idea de Seaborn es que los científicos de datos dispongan de una interfaz para hacer gráficos estadísticos atractivos e explicativos: el objetivo es visualizar datos complejos de forma sencilla y extraer conclusiones. Sus características:
– Tiene varios temas integrados para mejorar el diseño de matplotlib.
– Dispone de herramientas para la elección de paletas de colores.
– Funciones para comparar subconjuntos de datos.
– Herramientas para adaptar y visualizar modelos de regresión lineal.
– Funciones para visualizar matrices de datos.
– Uso de algoritmos de clustering.
– Posibilidad de establecer series temporales estadísticas con los datos.
3. Bokeh
El objetivo de Bokeh es ofrecer gráficos elegantes, atractivos y sencillos, al estilo de la librería de JavaScript D3.js, pero también proporcionar una interactividad de alto nivel con grandes volúmenes de datos. Es una opción interesante si se quieren crear visualizaciones gráficas, aplicaciones con datos o tableros de mandos.
Con Bokeh se pueden hacer visualizaciones de todo tipo, enfocadas fundamentalmente para navegadores modernos: mapas de coropletas, mapas de calor, gráficos de líneas, de áreas, de barras… Existen muchas posibilidades distintas, en función de los datos y la visualización más apropiada en cada caso:
Bokeh dispone de tutoriales para los desarrolladores o científicos de datos que quieran empezar a trabajar con la librería, desde ejercicios básicos hasta formación específica por cada tipo de gráfico o también formación más avanzada.
4. Pygal
Pygal se utiliza fundamentalmente para la creación de gráficos en formato SVG, algo habitual para la creación de visualizaciones interactivas para proyectos digitales. También permite descargar las gráficas en formato de imagen, concretamente en .png, pero deben instalarse las dependencias que lo permiten.
Se pueden hacer visualizaciones de todo tipo: gráficos de barras, de líneas, de tarta, gráficos de embudo y también todo tipo de visualizaciones con mapas.
5. Plotly
Plotly es una herramienta algo distinta a las demás: es una librería online para el análisis y la visualización de datos. Dispone de una documentación muy completa, con tutoriales muy accesibles, no solo para hacer todo tipo de gráficos a partir de los diseños servidos por matplotlib, sino también directamente con la API.
La API permite manejar datos para hacer gráficas que luego se pueden descargar en formato de imagen o bien embeber en una web mediante un código. Para instalar la API en Python se puede usar pip. Cualquier usuario que necesite trabajar con la API deberá seguir los pasos de la documentación.
Algunas de sus características:
– El usuario puede importar a Plotly datos desde Google Drive, Dropbox o servicios de gestión de bases de datos como MySQL, PostgreSQL, Spark SQL u Oracle para hacer visualizaciones. Se pueden descargar datos a Excel.
Cada uno de los gráficos se pueden exportar en formatos .png, PDF, SVG y EPS, escogiendo las medidas de ancho y alto de la visualización.
– Podemos hacer todo tipo de visualizaciones con Plotly: desde gráficos de barras hasta de líneas, de áreas, histogramas, burbujas, mapas de calor…
– La mayoría de los gráficos dispone de un acceso abierto para los usuarios de Plotly. Cualquier usuario que se registre dispondrá de almacenamiento ilimitado para sus visualizaciones públicas. Eso permite que el resto de usuarios del servicio puedan hacer comparaciones y utilizar los gráficos existentes como ejemplo para adaptar su datos a esas visualizaciones.
– La versión gratuita también permite alojar visualizaciones de carácter privado, pero aquí sí existen limitaciones de espacio. Esta opción impide que el resto de usuarios puedan acceder a los datos privados de un gráfico.
Síguenos en @BBVAAPIMarket