1
resposta

[Dúvida] [DÚVIDA] RESOLUÇÃO DESAFIO ITEM 03

Olá, pessoal. Tudo bem?

Tentei resolver a questão 03 do desafio sem utilização do Cross-Section, resetando os índices através do reset_index, ficando dessa forma:

Reset dos índices:

soma_por_estado = emissoes_por_ano.groupby(['Estado', 'Nível 1 - Setor']).sum('Emissão').reset_index()

Filtrando o máximo das emissões e a atividade no estado de MG:

atividade_max_mg = soma_por_estado[soma_por_estado['Estado'] == 'MG'].max()
atividade_max_mg

Porém o resultado apresentado na tela é o mostrado abaixo:

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

O valor máximo da coluna "Emissão" ficou correto, porém o "Nível 1- Setor" ficou errado, sendo o resultado correto "Agropecuária". Aparentemente o max() foi aplicado na coluna "Nível 1 - Setor".

Qual seria o método correto sem a utilização do xs()?

1 resposta

Olá, Italo! Tudo bem?

O problema que você está enfrentando ocorre porque o método max() está retornando o valor máximo de cada coluna, e não está considerando a linha específica onde a emissão é máxima.

Para resolver isso, você pode usar o método idxmax() para encontrar o índice da linha com o valor máximo na coluna "Emissão" e, em seguida, usar esse índice para selecionar a linha inteira. Veja como você pode fazer isso:

# Encontrar o índice da linha com a emissão máxima para o estado de MG
indice_max_mg = soma_por_estado[soma_por_estado['Estado'] == 'MG']['Emissão'].idxmax()

# Selecionar a linha correspondente
atividade_max_mg = soma_por_estado.loc[indice_max_mg]

Dessa forma, você obterá a linha completa que contém o valor máximo de emissão para o estado de Minas Gerais, incluindo o setor correto.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.