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
10linhas 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
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
10linhas dedata_flights.
Solução
Obrigado pelo seu feedback!
single