3
respostas

É possivel colocar mais métodos no groupby ?

Boa noite...Estou explorando DataFrame e me deparei com uma duvida

Peço desculpas ,talvez, pela complexidade da questão....rs

Tenho os generos dos meus jogos e a soma total de vendas de cada um...

Como eu faria caso quisesse ver por exemplo a 'Plataforma' mais vendida junto a isso, o 'Publicador' que mais aparece também dentro da tabela, junto com as somas de vendas ?

Ai seriam colunas tipo

Pretendo fazer algo do tipo : dados.groupby('Genero')['Vendas_Globais'].sum()['Plataforma'].max()['Publicador'].min()

Vou deixar uma imagem como exemplo, o arquivo que eu baixei de um site de dataframes, e o meu codigo no github

Desde já agradeco muito pela atenção..

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

https://www.kaggle.com/gregorut/videogamesales/version/2

https://github.com/Vvitoor21/DataScience/blob/main/08_Dados_Jogos_Vendas.ipynb

3 respostas

Boas Vitor! Tudo bem? Espero que sim!

Da forma com que você deseja fazer, não. Não é possível passar mais de um parâmetro dessa forma para o pd.groupby(). Mas existem algumas opções nesse caso:

A primeira é salvar o objeto resultante da função em uma variável e trabalhar a partir dela:

dados_por_genero = dados.groupby('Genre')
dados_por_genero.Platform.min()

Que retorna:

Genre
Action          2600
Adventure       2600
Fighting        2600
Misc            2600
Platform        2600
Puzzle          2600
Racing          2600
Role-Playing     3DS
Shooter         2600
Simulation      2600
Sports          2600
Strategy         3DS
Name: Platform, dtype: object

Outra possibilidade é salvar cada resultado em um novo dataFrame, mas para isso, o resultado da consulta ao group_by deve retornar sempre o mesmo número de valores. Veja o código abaixo:

new_df = pd.DataFrame({'Soma das Vendas': dados_por_genero.Global_Sales.sum(), ' Qtd de Publicadores': dados_por_genero.Publisher.count(), 'Qtd de Plataformas': dados_por_genero.Platform.count() })

Que retorna:

GenreSoma das VendasQtd de PublicadoresQtd de Plataformas
Action1751.1833093316
Adventure239.0412821286
Fighting448.91846848
Misc809.9617121739
Platform831.37884886
Puzzle244.95581582
Racing732.0412481249
Role-Playing927.3714861488
Shooter1037.3713081310
Simulation392.2863867
Sports1330.9323432346
Strategy175.12678681
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Olá, boa tarde. Ainda referente sobre essa tabela de dados, como eu faço para poder ter na coluna 'Year ' somente o ano e com formato de dado do tipo date?

Eu estou tentando colocar os anos com o formato date e sem o 0, para realizar uma time-series mas não estou conseguindo manipular as funcoes do tipo date,years,%y, etc...

Procuro uma series do tipo data como 2006,1985,2008,etc....

Insira aqui a descrição dessa imagem para ajudar na acessibilidade