Agrupamento por Várias Colunas
Vamos adicionar algumas informações sobre o método .groupby()
. É possível agrupar por várias colunas, mas a ordem é fundamental nesse caso. No capítulo anterior, agrupamos os dados pelo número do voo e contamos o número de atrasos. Podemos tornar essa tarefa mais complexa agrupando não apenas pela coluna 'Flight'
, mas também pela coluna 'Airline'
. Revise as informações sobre o conjunto de dados e, em seguida, observe este exemplo simples (a saída contém apenas as 10 primeiras linhas):
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))
Explicação:
data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
data[['Flight', 'Delay', 'Airline']]
- colunas utilizadas, incluindo as colunas pelas quais será realizado o agrupamento;.groupby(['Flight', 'Airline'])
- aqui,'Flight'
e'Airline'
são argumentos da função.groupby()
.
Atenção: ao agrupar por várias colunas, insira-as em uma lista — a ordem é fundamental. Portanto, neste caso, se as linhas do conjunto de dados tiverem o mesmo valor na coluna 'Flight'
, elas pertencerão a um grupo. Em seguida, dentro desses grupos, a função encontra outros grupos para as linhas com o mesmo valor na coluna 'Airline'
. Depois, devido ao método .count()
, que conta as linhas, a função calculará o número de linhas na coluna 'Delay'
que possuem o mesmo valor na coluna 'Airline'
para cada grupo de 'Flight'
.
Swipe to start coding
Sua tarefa aqui é agrupar os dados pelo aeroporto de origem do voo e, em seguida, pelo dia da semana. Calcule o tempo médio para os grupos. Siga o algoritmo para gerenciar a tarefa:
- Agrupe os dados:
- Extraia as colunas
'AirportFrom'
,'DayOfWeek'
e'Time'
dedata
(nesta ordem); - Aplique o método
.groupby()
às colunas extraídas; - Dentro do método
.groupby()
, insira as colunas'AirportFrom'
e'DayOfWeek'
; a ordem é fundamental; - Calcule o valor médio da coluna
'Time'
.
- Extraia as colunas
- Exiba as primeiras
10
linhas dedata_flights
.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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
Agrupamento por Várias Colunas
Deslize para mostrar o menu
Vamos adicionar algumas informações sobre o método .groupby()
. É possível agrupar por várias colunas, mas a ordem é fundamental nesse caso. No capítulo anterior, agrupamos os dados pelo número do voo e contamos o número de atrasos. Podemos tornar essa tarefa mais complexa agrupando não apenas pela coluna 'Flight'
, mas também pela coluna 'Airline'
. Revise as informações sobre o conjunto de dados e, em seguida, observe este exemplo simples (a saída contém apenas as 10 primeiras linhas):
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))
Explicação:
data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
data[['Flight', 'Delay', 'Airline']]
- colunas utilizadas, incluindo as colunas pelas quais será realizado o agrupamento;.groupby(['Flight', 'Airline'])
- aqui,'Flight'
e'Airline'
são argumentos da função.groupby()
.
Atenção: ao agrupar por várias colunas, insira-as em uma lista — a ordem é fundamental. Portanto, neste caso, se as linhas do conjunto de dados tiverem o mesmo valor na coluna 'Flight'
, elas pertencerão a um grupo. Em seguida, dentro desses grupos, a função encontra outros grupos para as linhas com o mesmo valor na coluna 'Airline'
. Depois, devido ao método .count()
, que conta as linhas, a função calculará o número de linhas na coluna 'Delay'
que possuem o mesmo valor na coluna 'Airline'
para cada grupo de 'Flight'
.
Swipe to start coding
Sua tarefa aqui é agrupar os dados pelo aeroporto de origem do voo e, em seguida, pelo dia da semana. Calcule o tempo médio para os grupos. Siga o algoritmo para gerenciar a tarefa:
- Agrupe os dados:
- Extraia as colunas
'AirportFrom'
,'DayOfWeek'
e'Time'
dedata
(nesta ordem); - Aplique o método
.groupby()
às colunas extraídas; - Dentro do método
.groupby()
, insira as colunas'AirportFrom'
e'DayOfWeek'
; a ordem é fundamental; - Calcule o valor médio da coluna
'Time'
.
- Extraia as colunas
- Exiba as primeiras
10
linhas dedata_flights
.
Solução
Obrigado pelo seu feedback!
single