single
Agrupación por Varias Columnas
Desliza para mostrar el menú
Agregando información sobre el método .groupby(). Es posible agrupar por varias columnas, pero el orden es fundamental en este caso. En el capítulo anterior, se agruparon los datos por el número de vuelo y se contó la cantidad de retrasos. Esta tarea se puede complicar agrupando no solo por la columna 'Flight', sino también por la columna 'Airline'. Revisa la información sobre el conjunto de datos y observa este ejemplo sencillo (la salida contiene solo las primeras 10 filas):
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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
Explicación:
data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
data[['Flight', 'Delay', 'Airline']]- columnas con las que se trabajará, incluyendo las columnas por las que se agrupará;.groupby(['Flight', 'Airline'])- aquí,'Flight'y'Airline'son argumentos de la función.groupby().
Es importante notar que, si se desea agrupar por varias columnas, deben colocarse en una lista; el orden es fundamental. Así, en este caso, si las filas del conjunto de datos tienen el mismo valor en la columna 'Flight', pertenecerán a un mismo grupo. Luego, dentro de esos grupos, la función encuentra otros grupos para las filas con el mismo valor en la columna 'Airline'. Después, gracias al método .count(), que cuenta las filas, la función calculará el número de filas en la columna 'Delay' que tienen el mismo valor en la columna 'Airline' para cada grupo de 'Flight'.
Desliza para comenzar a programar
Tu tarea aquí es agrupar los datos por el aeropuerto desde el que comenzó el vuelo y luego por el día de la semana. Calcula el tiempo promedio para los grupos. Sigue el algoritmo para gestionar la tarea:
- Agrupar los datos:
- Extraer las columnas
'AirportFrom','DayOfWeek'y'Time'dedata(en este orden); - Aplicar el método
.groupby()a las columnas anteriores; - Dentro del método
.groupby(), colocar las columnas'AirportFrom'y'DayOfWeek'; el orden es fundamental; - Calcular el valor medio de la columna
'Time'.
- Extraer las columnas
- Mostrar las primeras
10filas dedata_flights.
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