Lidando 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'
:
123456789101112131415import 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())
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 argumentovalues
, 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 comoagg
no método.groupby()
,aggfunc
possui exatamente a mesma sintaxe deagg
. Assim, é possível colocar várias funções aqui, inserindo-as em uma lista para especificar funções para diferentes colunas usando chaves.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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
Lidando 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'
:
123456789101112131415import 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())
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 argumentovalues
, 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 comoagg
no método.groupby()
,aggfunc
possui exatamente a mesma sintaxe deagg
. Assim, é possível colocar várias funções aqui, inserindo-as em uma lista para especificar funções para diferentes colunas usando chaves.
Obrigado pelo seu feedback!