single
Agrupamiento Avanzado
Desliza para mostrar el menú
Ampliación de conocimientos sobre el método .groupby(). Como se recuerda, se puede 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.
Observa el siguiente ejemplo. Se agruparon los vuelos por 'Airline'. Luego, utilizando .agg(), se contó el número total de vuelos (usando la columna 'Delay') y, simultáneamente, se encontraron las duraciones de vuelo más corta y más larga (usando 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". Este método toma los datos agrupados y los condensa en estadísticas resumidas según las reglas proporcionadas.{}: Se utiliza un diccionario de Python para asignar columnas específicas a operaciones específicas. Las claves son los nombres de las columnas que se desean seleccionar y los valores son las funciones que se desean aplicar.'Delay': 'count': Indica a pandas que aplique la función de conteo a la columna'Delay'para cada grupo. Observa 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 se desea aplicar más de una función a una sola columna, se deben colocar los nombres de las funciones dentro de una lista[]. Aquí, se calculan tanto el valor mínimo como el máximo para la columna'Length'.
Debido a que se aplicaron múltiples funciones, el DataFrame resultante creará automáticamente columnas jerárquicas (MultiIndex). Se verá Length en el nivel superior, con min y max categorizados ordenadamente debajo de él.
Desliza para comenzar a programar
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 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