CodeGym /Cursos /Python SELF ES /Agrupación de datos y cálculo de la suma y el promedio

Agrupación de datos y cálculo de la suma y el promedio

Python SELF ES
Nivel 28 , Lección 0
Disponible

1. Introducción a la agrupación de datos

Principio de la agrupación de datos

En la vida real, frecuentemente agrupamos objetos según ciertas características: libros con libros, verduras con verduras, personas con personas (bueno, ya me entiendes). En programación, esto funciona de manera similar. Agrupar datos nos permite dividir un gran volumen de datos en partes más pequeñas y manejables, para luego analizarlas.

En pandas se usa el método groupby para esto, que permite dividir los datos en grupos y realizar varias operaciones en cada uno de ellos. Por ejemplo, puedes agrupar las ventas por departamentos de una tienda y calcular los ingresos totales en cada uno.

Este es un ejemplo de cómo podría verse:

Python

import pandas as pd

# Creamos un DataFrame con datos de ventas
data = {'Departamento': ['Alimentos', 'Tecnología', 'Alimentos', 'Libros', 'Tecnología'],
        'Ingresos': [100, 200, 150, 50, 300]}

df = pd.DataFrame(data)

# Agrupamos los datos por departamentos y calculamos el ingreso total
grupo = df.groupby('Departamento')['Ingresos'].sum()
print(grupo)

Ejemplos de aplicación de la agrupación

La agrupación es especialmente útil cuando necesitas comparar datos entre diferentes categorías. Por ejemplo, si trabajas en recursos humanos y quieres saber el salario promedio en diferentes departamentos de una empresa, o si eres un especialista en marketing y te interesa en qué mes hubo más ventas para cada producto. Estas tareas se simplifican mucho con las capacidades de agrupación en pandas.

2. Cálculo de funciones agregadas

Introducción a las funciones agregadas

Las funciones agregadas son funciones especiales que se aplican a un grupo de datos y devuelven un único valor. Las más comunes son sum (suma), mean (promedio) y count (cantidad de elementos). Estas permiten reducir una gran cantidad de información a métricas más simples y comprensibles.

Uso de funciones agregadas

Ya vimos cómo calcular la suma en el ejemplo anterior. Ahora veamos cómo podemos calcular el promedio y la cantidad de ventas en cada departamento.

Python

# Calculamos el ingreso promedio por departamento
promedio = df.groupby('Departamento')['Ingresos'].mean()
print(promedio)

# Contamos la cantidad de ventas por cada departamento
cantidad = df.groupby('Departamento')['Ingresos'].count()
print(cantidad)

Ejemplos de cálculo de agregados

Supongamos que tienes datos sobre la cantidad de usuarios que visitan un sitio web y quieres entender cuántas personas en promedio visitan el sitio cada día de la semana. Esta es una tarea clásica para la agrupación y el uso de la función mean.

Python

data = {'Día': ['Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Mié', 'Mar'],
        'Visitas': [120, 150, 170, 160, 180, 300, 220]}

df = pd.DataFrame(data)

# Calculamos el número promedio de visitas por día
promedio_visitas = df.groupby('Día')['Visitas'].mean()
print(promedio_visitas)

3. Trabajo práctico

Ejercicio de agrupación de datos y cálculo de agregados

Supongamos que tienes un conjunto de datos sobre ventas. Tu tarea es agruparlos por categorías y calcular las ventas totales, el costo promedio del pedido y la cantidad de pedidos en cada categoría. Esto te ayudará a entender qué categorías de productos generan mayores ganancias y dónde están las posibles "minas de oro".

Python

data = {
    'Categoría': ['Electrónica', 'Ropa', 'Electrónica', 'Libros', 'Libros', 'Ropa'],
    'Monto_pedido': [250, 100, 150, 200, 500, 300]
}

df = pd.DataFrame(data)

# Calculamos las ventas totales por categoría
suma = df.groupby('Categoría')['Monto_pedido'].sum()
print(suma)

# Calculamos el costo promedio del pedido por categoría
costo_promedio = df.groupby('Categoría')['Monto_pedido'].mean()
print(costo_promedio)

# Contamos la cantidad de pedidos por categoría
cantidad_pedidos = df.groupby('Categoría')['Monto_pedido'].count()
print(cantidad_pedidos)

Discusión de los resultados de la agrupación y análisis de datos

Después de realizar el ejercicio de agrupación de datos y cálculo de agregados, es muy útil analizar los datos obtenidos. Podrías notar, por ejemplo, que la categoría "Libros" tiene el monto total más alto debido a un pedido pequeño pero significativo. O que "Ropa" tiene la mayor cantidad de pedidos, pero el costo promedio del pedido es menor que el de "Electrónica".

Este tipo de análisis puede ayudar a tomar decisiones de negocio fundamentadas, como enfocarte en incrementar el tamaño promedio del pedido en la categoría que tiene el mayor número de pedidos pero un costo promedio menor.

4. Errores y peculiaridades

Al trabajar con agrupaciones, uno de los errores más comunes es olvidar usar los paréntesis al aplicar funciones agregadas. Por ejemplo, escribir df.groupby('Categoría').sum() en lugar de df.groupby('Categoría')['Monto_pedido'].sum(). Además, a veces surgen problemas con los valores faltantes en los datos. Pandas tiene métodos convenientes para manejar valores faltantes, como fillna(), que permite reemplazar valores ausentes con uno especificado para evitar distorsiones en los cálculos.

Aparte de esto, asegúrate de que los tipos de datos sean correctos. A veces, las columnas con números pueden interpretarse como cadenas, y al intentar agregar estos datos surgirán errores.

Si necesitas profundizar en el trabajo con pandas y los métodos de agrupación, consulta la documentación oficial de pandas para un estudio más detallado y ejemplos.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION