Análisis Multidimensional y Visualización de Datos en Python

Clase 14 de 31Curso para Crear tus Proyectos de Ciencia de Datos

Resumen

¿Cómo realizar una exploración multidimensional de datos?

La exploración multidimensional es esencial para comprender las relaciones entre variables en un conjunto de datos. Un enfoque común es identificar a los proveedores o beneficiarios con mayor carga económica. Para lograrlo, se puede agrupar la información por beneficiario y sumar los importes. Este proceso revela no solo el número de facturas, sino también el volumen total de dinero facturado por cada entidad.

# Agrupar por beneficiario y sumar importes
compras_df.groupby('beneficiario')['importe'].sum().reset_index().sort_values(by='importe', ascending=False).head(10)

¿Cómo visualizar la información?

La visualización de datos permite identificar patrones de manera eficaz. Para visualizar el gasto promedio por categoría, se pueden utilizar gráficos de barras que muestren importes por diferentes tipos, como gasto en servicios personales y varios, proporcionando un contexto de gastos promedio.

# Media de importes por tipo y visualización
importes_por_tipo = compras_df.groupby('sheet')['importe'].mean().reset_index()
importes_por_tipo.sort_values(by='importe', ascending=False).iloc[:10].plot(kind='bar', x='sheet', y='importe')

¿Cómo analizar las variaciones temporales?

Las fechas y sus correspondientes gastos proporcionan información valiosa sobre las tendencias temporales. Al sumar los importes por fecha, se puede identificar qué periodos son más activos financieramente.

# Suma de importes por fecha
compras_df.groupby('fecha')['importe'].sum().plot(kind='line')

¿Es posible filtrar datos por múltiples variables?

Sí, puedes crear filtros avanzados para examinar gastos específicos. Por ejemplo, es posible seleccionar solo los gastos de "Gastos Varios" para obtener un análisis más detallado.

# Filtrar gastos varios
gastos_varios = compras_df[compras_df['sheet'] == 'Gastos Varios']

También se pueden agrupar los datos, por ejemplo, por beneficiario y tipo de hoja para observar las combinaciones de estos parámetros y la suma de sus importes.

# Agrupar por beneficiario y tipo de hoja
agrupacion = compras_df.groupby(['beneficiario', 'sheet'])['importe'].sum().unstack().fillna(0)

¿Cómo realizar un análisis de texto con nubes de palabras?

Las nubes de palabras son herramientas visuales poderosas para entender de qué se habla mayormente en un texto. Utilizar librerías como nltk y WordCloud permite generarlas a partir de textos procesados.

Preparar el texto

Primero, recolectamos y limpiamos todo el texto de un campo determinado, removiendo palabras comunes ('stopwords') y términos poco informativos.

# Importar las librerías necesarias
import nltk
from nltk.corpus import stopwords

# Texto de los conceptos
texto_compras = " ".join(compras_df['concepto'].tolist()).lower()
stopwords_espanol = set(stopwords.words('spanish'))
palabras = [word for word in texto_compras.split() if word not in stopwords_espanol and len(word) > 2]

Generar la nube de palabras

Utilizando WordCloud, se genera una representación visual que destaca las palabras más recurrentes y, a su vez, puede brindar insights rápidos.

from wordcloud import WordCloud
import matplotlib.pyplot as plt

# Crear e imprimir la nube de palabras
wordcloud = WordCloud(background_color='white').generate(" ".join(palabras))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()

Este análisis visual de texto es crucial para obtener una mejor comprensión de los temas importantes en un conjunto de datos textual. Recuerda que con cada análisis, la oportunidad de descubrir más información valiosa incrementa.

A medida que adquieres estas habilidades, te animo a seguir profundizando en el análisis de datos y a explorar nuevas formas de enriquecer tus conjuntos de datos. ¡Tu curiosidad es la clave para dominar el arte de la ciencia de datos!