Questão de Programação — Linguagens de programação — FGV 2025
- 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
- A300
- B50
- C320
- D250
- E275
GabaritoA — 300
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.
Como demonstrado, o valor exibido é 300.
50 é o máximo do ano 2023 para o grupo B. O código acessa a primeira linha (grupo A), não a segunda.
320 é o máximo de 2022 para o grupo A (primeira linha, primeira coluna). O índice de coluna usado é 1 (2023), não 0.
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.
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].
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