Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Agrupamento por Várias Colunas | Agregando Dados
Técnicas Avançadas em Pandas

bookAgrupamento 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):

1234
import 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))
copy

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'.

Tarefa

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:

  1. Agrupe os dados:
    • Extraia as colunas 'AirportFrom', 'DayOfWeek' e 'Time' de data (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'.
  2. Exiba as primeiras 10 linhas de data_flights.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

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()`?

close

Awesome!

Completion rate improved to 3.03

bookAgrupamento 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):

1234
import 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))
copy

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'.

Tarefa

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:

  1. Agrupe os dados:
    • Extraia as colunas 'AirportFrom', 'DayOfWeek' e 'Time' de data (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'.
  2. Exiba as primeiras 10 linhas de data_flights.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2
single

single

some-alt