Matplotlib y Excel con Python para proyectos de Data Science

Matplotlib y Excel con Python para proyectos de Data Science

En los últimos años, el campo de la ciencia de datos ha experimentado un crecimiento exponencial, impulsado por la abundancia de datos disponibles y la necesidad de extraer información valiosa de esos datos.

Una de las herramientas más populares actualmente para guardar información es Excel, porque con ella puedes separar datos manualmente en tablas que contienen diferentes filas y columnas. Para representar estos datos en gráficos, puedes utilizar el propio Excel manualmente u otra herramienta muy versátil, la biblioteca Matplotlib.

En este artículo, hablaré sobre cómo manipular ambos usando el lenguaje Python para automatizar el flujo de datos.

Matplotlib

La instalación y la introducción a Matplotlib son sencillas y directas. Para comenzar, necesitas tener Python instalado en tu computadora. Luego puedes instalar la biblioteca usando un administrador de paquetes de Python, como pip, escribiendo el siguiente comando en la terminal:


Después de la instalación, puedes importar la biblioteca a tu código y comenzar a explorar sus funciones. Para crear un gráfico simple, simplemente usa la función plot(), pasando como argumento una matriz que contenga los valores del eje Y y otra que contenga los valores del eje X:


Este código creará un gráfico lineal, por defecto será un gráfico blanco con una línea azul, pero puedes cambiar el estilo de la línea pasando el parámetro linestyle que puede ser una línea continua ‘solid’, en forma de puntos ‘dotted’, trazos ‘dashed’ o incluso una mezcla de puntos y rayas ‘dashdot’:


Otros parámetros de estilo que se pueden cambiar son el color y el grosor de la línea. El color viene dado por el parámetro color y es una string de un color en inglés, mientras que el grosor es el linewidth, que es un valor entero:


Para ver más fácilmente dónde está cada dato, utilice el parámetro marker para agregar un marcador y llama a la función grid() que creará líneas horizontales y verticales:


También se pueden agregar líneas horizontales y verticales en puntos específicos con las funciones axhline y axvline respectivamente:


Se pueden trazar varias líneas simplemente llamando a la función plot() y pasando los valores de X e Y. Para diferenciar cada uno más fácilmente, podemos agregar títulos pasando el nombre correspondiente a lo que significa cada línea para el parámetro label:


Sólo con esta información podemos, por ejemplo, trazar el gráfico de Levey-Jennings, muy utilizado por los laboratorios de análisis clínicos para realizar controles de calidad. Consiste en colocar el valor de concentración de control de una determinada prueba en función del tiempo, además tiene líneas horizontales que representan la media y la desviación estándar sumada a la media.

Al analizar los patrones creados en el gráfico, que están determinados por las reglas de Westgard, podemos predecir si ha habido un error aleatorio o sistemático y tomar acciones para corregirlo.


El titulo lo pones con la función title y las etiquetas de los ejes X e Y con las funciones xlabel e ylabel, respectivamente:


Por defecto, Matplotlib coloca solo algunos de los valores dentro de las listas en los ticks del eje, pero puedes cambiar y colocar los valores deseados con la función xticks. En este ejemplo, es necesario tener los días en el eje X para correlacionar con la concentración obtenida, así que simplemente pasa la variable días a la función xticks:

La imagen obtenida del gráfico se puede guardar manualmente. Cuando se abra la ventana de Matplotlib, simplemente haz clic en save the figure y selecciona la ubicación y el nombre. También puede ser mediante código llamando a la función savefig, antes de la función show y pasando una string que contiene la ruta, el nombre de la figura y la extensión .png:


Además del gráfico de líneas, Matplotlib también le permite trazar diferentes gráficos, como gráficos de barras, círculos, pilas, puntos e incluso gráficos 3D. Para consultar lo que está disponible, puedes acceder al sitio oficial y ver los ejemplos. Otro ejemplo de aplicación de Matplotlib es para quienes trabajan con el mercado financiero. Utilizando la biblioteca auxiliar mplfinance, es posible trazar gráficas de Candlestick con los valores de apertura, cierre, mínimo y máximo de una acción determinada en un momento determinado, como se muestra en el siguiente ejemplo:


Matplotlib incluso permite trazar varios gráficos en la misma figura. Para hacer esto, en lugar de usar la función plot(), llamamos a la función subplots() pasando el número de filas y columnas, seguido de una tupla para el parámetro figsize para determinar el tamaño de la figura. Esta función devolverá la figura y los Ejes, que es básicamente un array al que se accede mediante índices:


Excel

Es fundamental que un científico de datos conozca Excel, ya que es una herramienta muy popular y los datos a analizar suelen estar en este formato. Por ejemplo, volviendo al caso del gráfico de Levey-Jennings, los datos sobre la concentración de glucosa en función del tiempo pueden provenir de una máquina automatizada en el laboratorio, que devuelve los datos en formato Excel. Entonces, sabiendo extraer los datos de forma programada, podremos crear fácilmente las gráficas, como se demostró al principio.

Las bibliotecas utilizadas para manipular datos en una hoja de cálculo de Excel a través de Python son las Pandas y Openpyxl. La instalación se realiza mediante el siguiente comando en la terminal:


El primer paso ahora es importar la biblioteca Pandas, luego podemos crear un diccionario en Python y convertirlo en un dataframe Pandas:


Utilizando la función de dataframe to_excel, es posible transformar un dataframe en una tabla Excel. El primer parámetro será el nombre del archivo y el index=False evitará que el índice generado por defecto de Pandas se pase a la tabla. Si el archivo aún no existe se creará y si ya existe se sobrescribirá:


Para agregar nuevas columnas, puede crear un nuevo diccionario con las mismas claves que el primer dataframe. Con esto se hará la conversión para dataframe y se concatenará con el dataframe ya existente:


Para cargar datos desde una hoja de cálculo de Excel usando Pandas, podemos usar la función read_excel() de la biblioteca. Esta función le permite leer datos de una hoja de cálculo específica y convertirlos en una dataframe de Pandas. Ve el ejemplo:


En el ejemplo anterior, utilizamos la función read_excel() para leer los datos de la hoja de trabajo Hoja1 del archivo data_file.xlsx. El parámetro Sheet_name se utiliza para especificar el nombre de la hoja que queremos cargar. Si no se especifica, la función cargará la primera hoja de forma predeterminada.

Al imprimir el dataframe, df, verás los datos de la hoja de cálculo cargada. Esto le permite acceder a valores, columnas y filas de Excel para su análisis y manipulación. Además, puede especificar otras opciones al leer una hoja de cálculo de Excel, como:


En este ejemplo, agregamos dos opciones adicionales al cargar datos de la hoja de cálculo. El parámetro skiprows permite omitir un número específico de líneas desde el principio del archivo. El parámetro usecols permite seleccionar solo un subconjunto de columnas para cargar, especificando una lista con los índices de las columnas deseadas.

Estas son algunas opciones que puedes usar al cargar datos desde una hoja de cálculo de Excel con Pandas. Es importante recordar ajustar la ruta y el nombre del archivo según tu situación. De esta manera, con la biblioteca Pandas y la función read_excel(), puedes cargar fácilmente datos desde una hoja de cálculo de Excel para realizar análisis, visualizaciones con la biblioteca Matplotlib y manipulaciones usando Python. Esta integración ofrece flexibilidad para los científicos y profesionales de datos que manejan datos en este formato ampliamente utilizado.


Conclusión

Las bibliotecas Matplotllib y Pandas son una poderosa combinación de herramientas para visualización y análisis de datos, que pueden ser utilizadas en diferentes proyectos de Data Science, como en el ejemplo de bioinformática con el gráfico de Levey-Jennings, en el mercado financiero con la biblioteca mplfinance que es una extensión de Matplotlib u otros proyectos que involucran inteligencia artificial, como en el ejemplo de la imagen, donde se trazan múltiples gráficos relacionando la generación con otros parámetros de una red neuronal en un algoritmo neuroevolutivo.

La integración de estas tecnologías es un proceso relativamente sencillo, y su uso permite una gran versatilidad para personalizar gráficos que pueden presentarse en artículos científicos, conferencias, etc. Otros ejemplos de proyectos de ciencia de datos incluyen el análisis de las ventas de los productos de una empresa, el seguimiento de las métricas de rendimiento de las aplicaciones y el análisis de datos biológicos, como la expresión genética a lo largo del tiempo en un experimento de microarray.

A medida que avanza el campo de la Ciencia de Datos, la importancia de los métodos para procesar estos datos se hace cada vez más evidente. Sin embargo, al dominar el uso de estas herramientas, podemos tener varias oportunidades profesionales emergentes.

💡
Las opiniones y comentarios emitidos en este artículo son propiedad única de su autor y no necesariamente representan el punto de vista de Listopro.

Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.