Agrupación por Varias Columnas
Agreguemos 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 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 según 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 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 extraídas; - Dentro del método
.groupby()
, incluir las columnas'AirportFrom'
y'DayOfWeek'
; el orden es fundamental; - Calcular el valor medio de la columna
'Time'
.
- Extraer las columnas
- Mostrar las primeras
10
filas 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 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 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 según 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 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 extraídas; - Dentro del método
.groupby()
, incluir las columnas'AirportFrom'
y'DayOfWeek'
; el orden es fundamental; - Calcular el valor medio de la columna
'Time'
.
- Extraer las columnas
- Mostrar las primeras
10
filas dedata_flights
.
Solución
¡Gracias por tus comentarios!
single