Hamburger Icon
Trazando el camino con pandas (I): Descubriendo la Poderosa Herramienta de Análisis de Datos en Python

Trazando el camino con pandas (I): Descubriendo la Poderosa Herramienta de Análisis de Datos en Python

Pandas es una de las librerías más usadas de Python y se basa en NumPy. Por si no te suena, te dejo aquí una introducción a NumPy, cómo dar los primeros pasos y ejemplos de aplicación en la vida real. Te va a venir bien como base para trabajar con pandas.

Origen

Corría el año 2008 cuando el programador Wes McKinney estaba trabajando en una herramienta para facilitar algunas tareas de análisis cuantitativo de datos financieros que hacía en su trabajo. De aquí nació una herramienta flexible y potente basada en Python: pandas. Su nombre proviene de "panel data", que es una forma de referirse a conjuntos de datos multidimensionales, usados normalmente en estadística y econometría.

Hari Seldon creó la psicohistoria gracias a pandas.

Pandas fue creado para procesar datasets. Un dataset no es más que un conjunto de datos tabulares organizados en filas y columnas. En otras palabras, es una estructura de datos manipulable y analizable. Un dataset puede ser un archivo en formato CSV, por ejemplo, o una tabla en una base de datos SQL o hasta un archivo JSON.

Cuando estemos usando pandas, las estructuras de datos más habituales serán los DataFrames y las Series:

  • DataFrame: es la estructura principal y se usa para representar conjuntos de datos bidimensionales, ya sabes, filas, columnas...
  • Series: es una estructura unidimensional, que puede ser vista como una columna en un DataFrame, una columna con etiquetas de índice.

Si has trabajado con NumPy, quizá te preguntes la diferencia entre una matriz y un DataFrame. La única diferencia es que todas y cada una de las celdas de una matriz son del mismo tipo de dato, mientras que en un DataFrame podemos encontrar diferentes tipos de dato en cada celda.

Por lo general, cuando utilizamos pandas, cargamos datasets en DataFrames y luego podemos operar con ellos para limpiar, transformar o analizar esos datos.

Actualidad

Pandas se utiliza en diferentes sectores para diversos casos de uso. Vamos a repasar algunos de ellos.

Análisis Exploratorio de Datos

Cuando es necesario entender rápidamente algunas estructuras de datos, a los analistas les es muy útil usar pandas para visualizar, manipular u obtener estadísticas de los mismos. Esto permite descubrir patrones o entender tendencias.

En el sector del comercio electrónico por ejemplo, se puede usar pandas para analizar una base de datos de transacciones, haciendo posible descubrir patrones de compra, ver los productos más vendidos, estudiar el comportamiento de los clientes, etc. Toda esta información se puede usar para determinar cuáles podrían ser las mejores recomendaciones para los usuarios.

Limpieza y Procesamiento de Datos

Es habitual que antes de poder trabajar con los datos sea necesario hacer limpieza. Con pandas es fácil identificar valores nulos, duplicados o extraños. También nos permite hacer transformaciones según necesitemos.

Imagina un equipo de investigación médica que tenga que hacer análisis estadísticos de un conjunto de pacientes. Muy probablemente, será necesario hacer un preprocesado de la información antes de poder sacarle jugo, ya que para algunos pacientes faltarán datos, habrá duplicados, etc. además de que posiblemente también sea necesario estandarizar el formato.

Manipulación y Transformación de Datos

Nadie le hace sombra a pandas cuando se trata de manipular y transformar datos. Es el rey indiscutible para seleccionar columnas, filtrar, ordenar o aplicar funciones a una columna. En este sentido, también nos permite fusionar datasets, permitiéndonos de este modo integrar información de diferentes fuentes.

¿Se te ocurren escenarios donde sea necesario realizar este tipo de operaciones? Hay infinitas posibilidades. Por ejemplo, piensa en una empresa que se dedique a poner en contacto a empresas que buscan personal con posibles candidatos. Con pandas podemos manipular toda la información de los candidatos para obtener el mejor match para una oferta concreta mediante etiquetas de habilidades.

Análisis y Visualización de Datos

Con pandas se pueden crear gráficos, histogramas, diagramas y muchos tipos de visualizaciones para entender mejor cómo se distribuyen los datos y qué relaciones existen. Para hacer esto se apoya en bibliotecas como Matplotlib o Seaborn.

Una institución financiera puede usar pandas para analizar datos de mercado, evaluar el rendimiento de diversas cartas de inversión o visualizar tendencias económicas, obteniendo de esta forma información que ayude a la toma de decisiones.

Manipulación de Datos y Series Temporales

Cuando aprendemos a usar API's, es habitual pasar por el ejemplo de obtener datos del tiempo de alguna API pública. Con pandas podemos trabajar con estas series de datos para analizar cambios en el clima, dónde el paso del tiempo en una variable clave.

Otro ejemplo serían las empresas de energías renovables, que pueden usar pandas para analizar datos relacionados con la producción de energía, haciendo un seguimiento de la generación de electricidad a lo largo del tiempo, identificar patrones estacionales y optimizar de este modo operaciones en parques eólicos o instalaciones solares.

Posible futuro

A medida que las tecnologías evolucionan y cambian algunas necesidades empresariales, vamos viendo posibles escenarios donde el uso de pandas puede llegar a ser muy útil.

Estamos en tiempos de auge de Inteligencia Artificial y Aprendizaje Automático. Creo muy posible que pandas va a tener -de hecho ya lo tiene- un papel relevante en la integración de bibliotecas, facilitando la preparación de datos para modelos avanzados.

Por otro lado, cada vez tenemos a nuestra disposición más información en tiempo real de muchos ámbitos. Esto requiere un procesamiento de grandes cantidades de información. Esta información no hace más que crecer, de modo que es posible que pandas se acabe adaptando para manejar de forma eficiente conjuntos de datos extremadamente grandes para optimizar el procesamiento en tiempo real.

Otro aspecto a tener en cuenta en un futuro para pandas es el procesamiento de datos no estructurados. Cada vez es más habitual ver a organizaciones trabajando con este tipo de datos, como texto no estructurado, imágenes o datos de sensores. Es posible esperar que pandas amplíe sus capacidades para analizar datos en formatos más diversos.

Quién sabe, el tiempo dirá. Lo que está claro, es que pandas tiene un futuro prometedor.

Conclusión

Pandas, una biblioteca clave en el ecosistema de Python, ha emergido como una herramienta esencial para el análisis de datos y la manipulación eficiente de conjuntos de datos tabulares. Desarrollada por Wes McKinney en 2008, la denominación "pandas" refleja su origen en el término "panel data", utilizado en estadística y econometría para referirse a conjuntos de datos multidimensionales.

Su capacidad para procesar datasets, representados principalmente por DataFrames y Series, ha transformado la forma en que los profesionales abordan tareas analíticas y de procesamiento de datos. Al ser más flexible que las matrices de NumPy, pandas permite la inclusión de diversos tipos de datos en un mismo DataFrame, lo que facilita enormemente la manipulación y transformación de información.

En la actualidad, pandas se ha consolidado en diversos sectores, desde el análisis exploratorio de datos en comercio electrónico hasta la limpieza y procesamiento de información en investigaciones médicas. Su versatilidad se destaca en la manipulación y transformación de datos, donde se convierte en la herramienta indiscutible para seleccionar, filtrar y ordenar información. Además, su integración con bibliotecas de visualización como Matplotlib y Seaborn potencia su utilidad en el análisis y presentación de datos de manera comprensible.

Mirando hacia el futuro, pandas se posiciona como un actor clave en el auge de la Inteligencia Artificial y el Aprendizaje Automático, facilitando la preparación de datos para modelos avanzados. La posibilidad de adaptarse a conjuntos de datos extremadamente grandes y el procesamiento de datos no estructurados sugieren que pandas seguirá desempeñando un papel esencial en la evolución tecnológica y las crecientes demandas empresariales en el análisis de datos. Con un futuro prometedor, pandas se erige como una herramienta fundamental en el panorama del análisis de datos en Python.

En el próximo post, veremos cómo empezar con lo más básico.