Agrupamento Avançado
Vamos expandir nosso conhecimento sobre o método .groupby()
. Como você deve se lembrar, podemos utilizar o método .agg()
. De fato, a principal vantagem dessa função é que podemos aplicar diferentes funções às colunas numéricas com uma única chave de agrupamento. Observe o exemplo em que agrupamos os voos pela coluna 'Airline'
, depois contamos os valores em 'Delay'
para cada 'Airline'
e calculamos os valores mínimo e máximo para a coluna 'Length'
. Muito prático, não é mesmo?
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.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
Explicação:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg()
– método que permite aplicar funções em uma série ou em cada elemento separadamente;{}
– utilizamos chaves para especificar a coluna e aplicar funções diretamente a elas;'Delay': 'count'
– aplica a função.count()
aos valores da coluna'Delay'
que possuem a mesma chave de agrupamento;'Length': ['min', 'max']
– aplica as funções.min()
e.max()
aos valores da coluna'Length'
que possuem a mesma chave de agrupamento. Basta colocar apenas o nome da coluna sem os símbolos()
ou.
na função. Atenção: se desejar aplicar várias funções à mesma coluna, é necessário colocá-las em uma lista.
Swipe to start coding
Podemos supor que um atraso depende da companhia aérea ou do aeroporto, mas vamos aprofundar e analisar os tempos médios e máximos de atraso dependendo do aeroporto de origem do voo e, em seguida, do aeroporto de destino. Além disso, observe a mediana da duração do voo. Siga o algoritmo:
Agrupar dados:
- Aplique o método
.groupby()
ao conjunto de dadosdata
; - Dentro do método
.groupby()
, insira as colunas'AirportFrom'
e'AirportTo'
; a ordem é fundamental; - Utilizando o método
.agg()
, calcule os valores agregados: o valor médio e máximo na coluna'Time'
, e o valor mediano da coluna'Length'
.
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 what the output of this code would look like?
What other functions can I use with `.agg()` besides 'count', 'min', and 'max'?
How can I group by multiple columns using `.groupby()` and `.agg()`?
Awesome!
Completion rate improved to 3.03
Agrupamento Avançado
Deslize para mostrar o menu
Vamos expandir nosso conhecimento sobre o método .groupby()
. Como você deve se lembrar, podemos utilizar o método .agg()
. De fato, a principal vantagem dessa função é que podemos aplicar diferentes funções às colunas numéricas com uma única chave de agrupamento. Observe o exemplo em que agrupamos os voos pela coluna 'Airline'
, depois contamos os valores em 'Delay'
para cada 'Airline'
e calculamos os valores mínimo e máximo para a coluna 'Length'
. Muito prático, não é mesmo?
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.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
Explicação:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg()
– método que permite aplicar funções em uma série ou em cada elemento separadamente;{}
– utilizamos chaves para especificar a coluna e aplicar funções diretamente a elas;'Delay': 'count'
– aplica a função.count()
aos valores da coluna'Delay'
que possuem a mesma chave de agrupamento;'Length': ['min', 'max']
– aplica as funções.min()
e.max()
aos valores da coluna'Length'
que possuem a mesma chave de agrupamento. Basta colocar apenas o nome da coluna sem os símbolos()
ou.
na função. Atenção: se desejar aplicar várias funções à mesma coluna, é necessário colocá-las em uma lista.
Swipe to start coding
Podemos supor que um atraso depende da companhia aérea ou do aeroporto, mas vamos aprofundar e analisar os tempos médios e máximos de atraso dependendo do aeroporto de origem do voo e, em seguida, do aeroporto de destino. Além disso, observe a mediana da duração do voo. Siga o algoritmo:
Agrupar dados:
- Aplique o método
.groupby()
ao conjunto de dadosdata
; - Dentro do método
.groupby()
, insira as colunas'AirportFrom'
e'AirportTo'
; a ordem é fundamental; - Utilizando o método
.agg()
, calcule os valores agregados: o valor médio e máximo na coluna'Time'
, e o valor mediano da coluna'Length'
.
Solução
Obrigado pelo seu feedback!
single