Agrupación por Varias Columnas
Agreguemos información sobre el método .groupby(). Es posible agrupar por varias columnas, pero en este caso el orden es fundamental. En el capítulo anterior, se agruparon los datos por el número de vuelo y se contó la cantidad de retrasos. Esta tarea puede complicarse agrupando no solo por la columna 'Flight', sino también por la columna 'Airline'. Revise la información sobre el conjunto de datos y observe 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().
Tenga en cuenta 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, debido al método .count(), que cuenta las filas, la función calculará la cantidad de filas en la columna 'Delay' que tienen el mismo valor en la columna 'Airline' para cada grupo de 'Flight'.
Swipe to start coding
La tarea consiste en agrupar los datos por el aeropuerto de origen del vuelo y luego por el día de la semana. Calcule el tiempo promedio para cada grupo. Siga el siguiente algoritmo para realizar la tarea:
- Agrupar los datos:
- Extraiga las columnas
'AirportFrom','DayOfWeek'y'Time'dedata(en este orden); - Aplique el método
.groupby()a las columnas extraídas; - Dentro del método
.groupby(), incluya las columnas'AirportFrom'y'DayOfWeek'; el orden es fundamental; - Calcule el valor promedio de la columna
'Time'.
- Extraiga las columnas
- Muestre 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
Can you explain why the order of columns in `.groupby()` matters?
What does the `.count()` method do in this context?
Can you show how the output would change if we switched the order of the columns in `.groupby()`?
Awesome!
Completion rate improved to 3.03
Agrupación por Varias Columnas
Desliza para mostrar el menú
Agreguemos información sobre el método .groupby(). Es posible agrupar por varias columnas, pero en este caso el orden es fundamental. En el capítulo anterior, se agruparon los datos por el número de vuelo y se contó la cantidad de retrasos. Esta tarea puede complicarse agrupando no solo por la columna 'Flight', sino también por la columna 'Airline'. Revise la información sobre el conjunto de datos y observe 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().
Tenga en cuenta 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, debido al método .count(), que cuenta las filas, la función calculará la cantidad de filas en la columna 'Delay' que tienen el mismo valor en la columna 'Airline' para cada grupo de 'Flight'.
Swipe to start coding
La tarea consiste en agrupar los datos por el aeropuerto de origen del vuelo y luego por el día de la semana. Calcule el tiempo promedio para cada grupo. Siga el siguiente algoritmo para realizar la tarea:
- Agrupar los datos:
- Extraiga las columnas
'AirportFrom','DayOfWeek'y'Time'dedata(en este orden); - Aplique el método
.groupby()a las columnas extraídas; - Dentro del método
.groupby(), incluya las columnas'AirportFrom'y'DayOfWeek'; el orden es fundamental; - Calcule el valor promedio de la columna
'Time'.
- Extraiga las columnas
- Muestre las primeras
10filas dedata_flights.
Solución
¡Gracias por tus comentarios!
single