Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FGV 2025

ProgramaçãoLinguagens de programação
Código
fg122161
Banca
FGV
Órgão
TCE-RR
Ano
2025
Nível
Superior
Cargo
Auditor de Controle Externo - Tecnologia com Especialidade em Análise de Dados
A biblioteca Pandas é amplamente utilizada para manipulação e análise de dados em Python.Considere o trecho de código a seguir.import pandas as pddados = {'Cidade': ['Boa Vista', 'Iracema','Amajari'], 'Categoria': ['A', 'B', 'A'], '2022':[320, 100, 50], '2023': [250, 50, 300], '2024':[300, 75, 100]}df = pd.DataFrame(dados,columns=['Cidade','Categoria','2022','2023','2024'])print(df.groupby('Categoria')[['2022', '2023','2024']].max().iloc[0,1])O valor numérico exibido como saída ao comando print será
  1. A300
  2. B50
  3. C320
  4. D250
  5. E275
Revelar gabarito e comentário

GabaritoA — 300

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Pandas – groupby e indexação

Gabarito: letra A (300). O código agrupa o DataFrame por 'Categoria', calcula o máximo de cada grupo para os anos 2022, 2023 e 2024, e então seleciona o elemento da primeira linha e segunda coluna (índice 0,1). O grupo A (primeiro na ordenação alfabética) tem máximos 320, 300 e 300; a segunda coluna (ano 2023) vale 300.

Vamos detalhar:

dados = {'Cidade': ['Boa Vista', 'Iracema', 'Amajari'],
         'Categoria': ['A', 'B', 'A'],
         '2022': [320, 100, 50],
         '2023': [250, 50, 300],
         '2024': [300, 75, 100]}
df = pd.DataFrame(dados, columns=['Cidade','Categoria','2022','2023','2024'])

O DataFrame df tem três linhas:

Cidade

Categoria

2022

2023

2024

Boa Vista

A

320

250

300

Iracema

B

100

50

75

Amajari

A

50

300

100

O comando df.groupby('Categoria')[['2022','2023','2024']].max() agrupa pela coluna 'Categoria', seleciona as três colunas numéricas e calcula o máximo de cada grupo:

  • Grupo A: max(320,50)=320; max(250,300)=300; max(300,100)=300

  • Grupo B: 100, 50, 75

Resulta em um novo DataFrame com índice 'Categoria' (ordenado: A, B) e colunas '2022','2023','2024':

Categoria

2022

2023

2024

A

320

300

300

B

100

50

75

.iloc[0,1] acessa a primeira linha (índice 0 → grupo A) e a segunda coluna (índice 1 → ano 2023), que vale 300.

Alternativas

  1. 1Criar DataFrame
  2. 2Agrupar por Categoria
  3. 3Selecionar colunas 2022-2024
  4. 4Calcular max por grupo
  5. 5Acessar iloc[0,1]
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

Como demonstrado, o valor exibido é 300.

Alternativa B — ❌ Incorreta

50 é o máximo do ano 2023 para o grupo B. O código acessa a primeira linha (grupo A), não a segunda.

Alternativa C — ❌ Incorreta

320 é o máximo de 2022 para o grupo A (primeira linha, primeira coluna). O índice de coluna usado é 1 (2023), não 0.

Alternativa D — ❌ Incorreta

250 é o valor de 2023 para a cidade Boa Vista, mas a operação de groupby max considerou todo o grupo A, cujo máximo em 2023 é 300, não 250.

Alternativa E — ❌ Incorreta

275 não corresponde a nenhum cálculo direto. Pode ser uma média ou outra combinação, mas não é o resultado do groupby max com iloc[0,1].

PEGA ESSA DICA!

Lembre-se de que .iloc usa índices numéricos (linha, coluna) começando em 0. Após groupby, o DataFrame resultante tem como índice os grupos (ordenados alfabeticamente por padrão). Portanto, iloc[0,1] sempre se refere ao primeiro grupo e à segunda coluna numérica.

Gabarito: letra A (300).

Link permanente: /questoes/fg122161