Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Lidando com Tabelas Dinâmicas | Agregando Dados
Técnicas Avançadas em Pandas

bookLidando com Tabelas Dinâmicas

O Python possui um análogo ao método .groupby() que pode levar ao mesmo resultado. A escolha de qual função utilizar fica a seu critério. Vamos aprender isso por meio de um exemplo. Utilizando a seguinte função, chamada .pivot_table(), calcularemos os valores médios da coluna 'Length' que possuem o mesmo valor na coluna 'Flight':

123456789101112131415
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) # The code using .groupby() data_flights_1 = data[['Length', 'Flight']].groupby('Flight').mean() # The same code using .groupby() data_flights_2 = data[['Length', 'Flight']].groupby('Flight').agg('mean') # The same code using .pivot_table() data_flights_3 = pd.pivot_table(data, values = 'Length', index = 'Flight', aggfunc = 'mean') print(data_flights_1.head())
copy

Explicação:

data = pd.pivot_table(data, values = 'Length',
                      index = 'Flight',
                      aggfunc = 'mean')
  • pd.pivot_table() - função que cria tabelas dinâmicas;
  • data - data frame utilizado;
  • values = 'Length' - ao argumento values, atribuímos as colunas que possuem o mesmo grupo, para as quais aplicaremos o cálculo da média, máximo, etc. Se desejar agrupar por várias colunas, coloque-as em uma lista; a ordem não é crucial;
  • index = 'Flight' - index é um argumento ao qual você atribui o nome de uma coluna ou colunas que deseja agrupar. Se quiser agrupar por várias colunas, coloque-as em uma lista; a ordem é crucial, assim como na função .groupby();
  • aggfunc = 'mean' - assim como agg no método .groupby(), aggfunc possui exatamente a mesma sintaxe de agg. Assim, é possível colocar várias funções aqui, inserindo-as em uma lista para especificar funções para diferentes colunas usando chaves.
question mark

Aqui está um exemplo de código que utiliza a instrução .groupby(). Selecione o análogo utilizando a função .pivot_table().

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 5

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 the difference between .groupby() and .pivot_table() in more detail?

What other aggregation functions can I use with .pivot_table()?

How can I group by multiple columns using .pivot_table()?

Awesome!

Completion rate improved to 3.03

bookLidando com Tabelas Dinâmicas

Deslize para mostrar o menu

O Python possui um análogo ao método .groupby() que pode levar ao mesmo resultado. A escolha de qual função utilizar fica a seu critério. Vamos aprender isso por meio de um exemplo. Utilizando a seguinte função, chamada .pivot_table(), calcularemos os valores médios da coluna 'Length' que possuem o mesmo valor na coluna 'Flight':

123456789101112131415
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) # The code using .groupby() data_flights_1 = data[['Length', 'Flight']].groupby('Flight').mean() # The same code using .groupby() data_flights_2 = data[['Length', 'Flight']].groupby('Flight').agg('mean') # The same code using .pivot_table() data_flights_3 = pd.pivot_table(data, values = 'Length', index = 'Flight', aggfunc = 'mean') print(data_flights_1.head())
copy

Explicação:

data = pd.pivot_table(data, values = 'Length',
                      index = 'Flight',
                      aggfunc = 'mean')
  • pd.pivot_table() - função que cria tabelas dinâmicas;
  • data - data frame utilizado;
  • values = 'Length' - ao argumento values, atribuímos as colunas que possuem o mesmo grupo, para as quais aplicaremos o cálculo da média, máximo, etc. Se desejar agrupar por várias colunas, coloque-as em uma lista; a ordem não é crucial;
  • index = 'Flight' - index é um argumento ao qual você atribui o nome de uma coluna ou colunas que deseja agrupar. Se quiser agrupar por várias colunas, coloque-as em uma lista; a ordem é crucial, assim como na função .groupby();
  • aggfunc = 'mean' - assim como agg no método .groupby(), aggfunc possui exatamente a mesma sintaxe de agg. Assim, é possível colocar várias funções aqui, inserindo-as em uma lista para especificar funções para diferentes colunas usando chaves.
question mark

Aqui está um exemplo de código que utiliza a instrução .groupby(). Selecione o análogo utilizando a função .pivot_table().

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 5
some-alt