La visualización de datos es una parte clave del análisis de datos y comunicación de los resultados. Facilitando la comprensión de patrones, identificación de tendencias y comunicación de hallazgos de una manera más sencilla y efectiva que solamente estadísticas. En esta cuarta y última entrega la serie dedicada a Pyjanitor se explicará cómo se puede combinar con bibliotecas como Matplotlib y Seaborn para mejorar los análisis visuales. Analizando las posibilidades de integración para la visualización de datos con Pyjanitor y Matplotlib o Seaborn.
En esta entrada es parte de una serie sobre la biblioteca Pyjanitor, el resto de las publicaciones son:
- Introducción a Pyjanitor
- Limpieza de datos con Pyjanitor
- Transformación de datos con Pyjanitor
- Visualización de datos con Pyjanitor y Matplotlib o Seaborn
Importación de datos de ejemplo
Antes de comenzar con los ejemplos de visualización de datos con Pyjanitor y Matplotlib o Seaborn es necesario cargar un conjunto de datos. En este caso se usar el conjunto de datos “planets” de Seaborn. Este conjunto es una compilación de información sobre el descubrimiento de exoplanetas fuera de nuestro sistema solar. Incluyendo detalles sobre los métodos de descubrimiento, el año de descubrimiento, el período orbital, la masa, el radio y la confirmación de detección de cada exoplaneta. Para importar este conjunto de datos solamente se debe importar Seaborn y llamar a la función load_dataset()
como se muestra en el siguiente código.
import seaborn as sns # Cargar el conjunto de datos "planets" de Seaborn planets = sns.load_dataset("planets") # Visualizar los primeros registros del conjunto de datos print(planets.head())
method number orbital_period mass distance year
0 Radial Velocity 1 269.300 7.10 77.40 2006
1 Radial Velocity 1 874.774 2.21 56.95 2008
2 Radial Velocity 1 763.000 2.60 19.84 2011
3 Radial Velocity 1 326.030 19.40 110.62 2007
4 Radial Velocity 1 516.220 10.50 119.47 2009
Una vez hecho esto se puede usar Pyjanitor para resumir datos con los que crear gráficas que pueden aportar información de interés.
Número de descubrimientos de planetas por año
Un dato que puede ser de interés en esta gráfica es cómo ha evolucionado el descubrimiento de exoplanetas con el tiempo. Resultado que requiere un análisis inicial que se puede realizar fácilmente con Pyjanitor. Para ello se puede usar el método groupby()
para agrupar la información por contabilizar el número de descubrimientos con size()
. Una vez realizado el análisis, se puede usar Seaborn para visualizar el número de descubrimientos de planetas por año en un gráfico de barras.
import matplotlib.pyplot as plt import janitor # Contar el número de planetas descubiertos por año planet_discoveries_per_year = ( planets .groupby('year') .size() .reset_index(name='num_discoveries') ) # Crear un gráfico de barras para visualizar el número de descubrimientos de planetas por año plt.figure(figsize=(10, 6)) sns.barplot(data=planet_discoveries_per_year, x='year', y='num_discoveries', color='skyblue') plt.xlabel('Año') plt.ylabel('Número de Descubrimientos de Planetas') plt.title('Número de Descubrimientos de Planetas por Año') plt.xticks(rotation=45) plt.grid(True, axis='y') plt.show()
Obteniendo como resultado una gráfica que permite comprender cómo ha evolucionado el descubrimiento de exoplanetas a lo largo del tiempo.
Evolución de descubrimientos de planetas por año según el método de detección
Otro aspecto interesante del conjunto de datos “planets” es la diversidad de métodos utilizados para descubrir exoplanetas. Los métodos de Pyjanitor permiten investigar cómo ha evolucionado la detección de exoplanetas a lo largo de los años en función del método de detección. Lo que se consigue contando el número de descubrimientos de planetas por año y método de detección.
# Contar el número de descubrimientos de planetas por año y método de detección utilizando Pyjanitor discoveries_per_year_method = ( planets .groupby(['year', 'method']) .size() .reset_index(name='num_discoveries') )
Una vez que se tienen agrupados los datos por año y método de detección, es posible visualizar la evolución de los descubrimientos de exoplanetas a lo largo del tiempo mediante un gráfico de líneas o un gráfico de barras apiladas. A continuación, se muestra cómo crear un gráfico de líneas con los datos.
# Crear un gráfico de líneas para visualizar la evolución de los descubrimientos por método de detección plt.figure(figsize=(12, 8)) sns.lineplot(data=discoveries_per_year_method, x='year', y='num_discoveries', hue='method', marker='o') plt.xlabel('Año') plt.ylabel('Número de Descubrimientos de Planetas') plt.title('Evolución de Descubrimientos de Planetas por Año según el Método de Detección') plt.xticks(rotation=45) plt.legend(title='Método de Detección') plt.grid(True) plt.show()
Este gráfico proporciona una visión general de cómo ha evolucionado la detección de exoplanetas a lo largo de los años. Mostrando cuando aparece cada método y como aumenta la aportación de cada uno con el tiempo. Lo primero que se puede ver es que las mayores aportaciones han sido por los métodos de “Radial Velocity” y “Transit”.
Conclusiones
En esta última entrada, se han visto algunas de las opciones que existen para la visualización de datos con Pyjanitor y Matplotlib o Seaborn. Para lo que se ha usado el conjunto de datos “planets” de Seaborn. Pyjanitor permite realizar análisis complejos que posteriormente se pueden usar para dibujar gráficos con Matplotlib o Seaborn que ayudan a comprender mejor los patrones de datos.
Imagen de Ryan McGuire en Pixabay
Deja una respuesta