Menu
Coddy logo textTech

Agrupación y agregación de datos

Lección 15 de 19 del curso Análisis con Pandas de Coddy.

Agrupar y agregar datos es fundamental cuando se trabaja con grandes conjuntos de datos, ya que ayuda a simplificar y resumir la información de maneras que facilitan su comprensión y análisis.

En la lección anterior, calculamos estadísticas sobre un grupo específico, pero calcular estadísticas para todos los grupos podría ser difícil sin herramientas adicionales. Para esto, tenemos el método .groupby():

df.groupby('column_name')

Esto devolverá un objeto GroupBy que agrupa las filas del dataframe por los valores de column_name. Puedes aplicar funciones de agregación en este objeto GroupBy para realizar cálculos dentro de esos grupos.

Una vez que los datos están agrupados, podemos realizar varias funciones de agregación para resumir la información, como:

df.groupby('column_name').sum()
df.groupby('column_name').min()
df.groupby('column_name').max()

Esto devolverá la suma (sum), el mínimo (min) y el máximo (max) de todas las demás columnas numéricas en el dataframe original, divididas por column_name.

Ahora puedes extraer una columna específica que estés analizando:

df.groupby('column_name').sum()['other_column']
challenge icon

Desafío

Fácil

El archivo CSV visits.csv contiene información sobre cuántas visitas se realizaron en una ubicación específica en un momento determinado.

Aquí están las primeras 5 líneas del archivo:

location_id,visits,timestamp
8,1771,27498
9,4187,79919
0,4959,54228
6,7721,41588

Crea un diccionario con las siguientes claves: min, max, mean, std, sum, y median, y proporciona una series correspondiente a las estadísticas de la columna visits para cada id de ubicación.

Pruébalo tú mismo

# pandas as pd ya está importado
df = pd.read_csv("./visits.csv")
# Escribe tu código debajo
sum_visits = df.groupby("location_id").sum()["visits"]

res = {
    "min": # completar
    "max": # completar
    "mean": # completar
    "std": # completar
    "median": # completar
    "sum": sum_visits
}
print(res)

Todas las lecciones de Análisis con Pandas