Lidando com Tabelas Dinâmicas
O Python possui um análogo ao método .groupby() que pode levar ao mesmo resultado. Cabe a você decidir qual função utilizar. 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 (pivot tables);data- DataFrame utilizado;values = 'Length'- ao argumentovalues, atribuem-se as colunas que possuem o mesmo grupo, para as quais será aplicado o cálculo da média, máximo, etc. Caso deseje agrupar por várias colunas, coloque-as em uma lista; a ordem não é crucial;index = 'Flight'-indexé um argumento ao qual se atribui o nome de uma coluna ou colunas pelas quais se deseja agrupar. Caso deseje agrupar por várias colunas, coloque-as em uma lista; a ordem é crucial, assim como na função.groupby();aggfunc = 'mean'- assim comoaggno método.groupby(),aggfuncpossui exatamente a mesma sintaxe deagg. Portanto, é possível inserir várias funções aqui, colocando-as em uma lista para especificar funções para diferentes colunas utilizando chaves.
Obrigado pelo seu feedback!
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
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. Cabe a você decidir qual função utilizar. 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 (pivot tables);data- DataFrame utilizado;values = 'Length'- ao argumentovalues, atribuem-se as colunas que possuem o mesmo grupo, para as quais será aplicado o cálculo da média, máximo, etc. Caso deseje agrupar por várias colunas, coloque-as em uma lista; a ordem não é crucial;index = 'Flight'-indexé um argumento ao qual se atribui o nome de uma coluna ou colunas pelas quais se deseja agrupar. Caso deseje agrupar por várias colunas, coloque-as em uma lista; a ordem é crucial, assim como na função.groupby();aggfunc = 'mean'- assim comoaggno método.groupby(),aggfuncpossui exatamente a mesma sintaxe deagg. Portanto, é possível inserir várias funções aqui, colocando-as em uma lista para especificar funções para diferentes colunas utilizando chaves.
Obrigado pelo seu feedback!