single
Agrupamiento Avanzado
Desliza para mostrar el menú
Ampliemos nuestro conocimiento sobre el método .groupby(). Como recordará, podemos utilizar el método .agg(). La principal ventaja de esta función es su flexibilidad: permite aplicar múltiples y diferentes agregaciones a varias columnas al mismo tiempo, devolviendo una tabla resumen clara.
Observe el siguiente ejemplo. Agrupamos los vuelos por 'Airline'. Luego, usando .agg(), contamos el número total de vuelos (utilizando la columna 'Delay') y, simultáneamente, encontramos la duración más corta y más larga de los vuelos (utilizando la columna 'Length'). Muy conveniente, ¿verdad?
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) data_flights = data.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
Explicación:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg(): Abreviatura de "aggregate" (agregar). Este método toma los datos agrupados y los condensa en estadísticas resumidas según las reglas que proporcione.{}: Se utiliza un diccionario de Python para asignar columnas específicas a operaciones específicas. Las claves son los nombres de las columnas que desea seleccionar y los valores son las funciones que desea aplicar.'Delay': 'count': Indica a pandas que aplique la función de conteo a la columna'Delay'para cada grupo. Observe que se pasa el alias de cadena'count'en lugar de escribircount(). Pandas reconoce estos nombres estándar de cadena para estadísticas comunes.'Length': ['min', 'max']: Si desea aplicar más de una función a una sola columna, debe colocar los nombres de las funciones dentro de una lista[]. Aquí, se calculan tanto los valores mínimos como máximos para la columna'Length'.
Debido a que se aplicaron múltiples funciones, el DataFrame resultante creará automáticamente columnas jerárquicas (MultiIndex). Verá Length en el nivel superior, con min y max categorizados ordenadamente debajo de él.
Swipe to start coding
Tu tarea es profundizar y analizar los tiempos promedio y máximo de retraso según el aeropuerto de origen del vuelo y luego según el aeropuerto de destino. Además, revisa la mediana de la duración del vuelo. Sigue el siguiente algoritmo:
Agrupar los datos:
- Aplica el método
.groupby()al conjunto de datosdata; - Dentro del método
.groupby(), coloca las columnas'AirportFrom'y'AirportTo'; el orden es fundamental; - Utilizando el método
.agg(), calcula los valores agregados: el valor promedio y máximo en la columna'Time', y el valor mediano de la columna'Length'.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla