Questão de Programação — Linguagens de programação — FGV 2025
Programação›Linguagens de programação
Código
fg122162
Banca
FGV
Órgão
TCE-RR
Ano
2025
Nível
Superior
Cargo
Auditor de Controle Externo - Tecnologia com Especialidade em Análise de Dados
Considere o código abaixo escrito na linguagem Python (versão 3.10.12) com uso das bibliotecas numpy (versão 1.26.4) e pandas (versão 2.2.2).<1> import numpy as np <2> import pandas as pd <3> x = np.array([('gama', 9), ('alfa', 3),('delta', 5),('epsilon', 7),('beta', 1)], dtype=[('a', 'U10'), ('b', 'i4')]) <4> y = pd.DataFrame(x) <5> z = y.sort_values(by="a") <6> print(z.iloc[2,1]) Com a execução do código acima, após o comando da linha <6> será escrito na tela
A1
B3
C5
D7
Eum aviso da ocorrência de IndexError
Revelar gabarito e comentário▾
GabaritoC — 5
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”.
Python: ordenação e acesso com pandas
Gabarito: letra C. O código cria um array NumPy estruturado com dados, converte em DataFrame pandas, ordena pela coluna "a" (strings) em ordem alfabética e, em seguida, imprime o valor da terceira linha (índice 2) da segunda coluna (índice 1). Esse valor é 5.
Passo a passo:
x = np.array([...], dtype=[('a', 'U10'), ('b', 'i4')]) – Cria um array estruturado com 5 registros: os pares ('gama',9), ('alfa',3), ('delta',5), ('epsilon',7), ('beta',1).
y = pd.DataFrame(x) – Converte o array em DataFrame. O DataFrame terá duas colunas: 'a' (strings) e 'b' (inteiros), na mesma ordem original.
z = y.sort_values(by="a") – Ordena o DataFrame pela coluna 'a' em ordem alfabética crescente. A ordem resultante das linhas é:
0: alfa (b=3)
1: beta (b=1)
2: delta (b=5)
3: epsilon (b=7)
4: gama (b=9)
print(z.iloc[2,1]) – iloc acessa por posição inteira: linha 2 (terceira linha, zero-indexada) e coluna 1 (segunda coluna, zero-indexada). A linha 2 é a que contém 'delta', e a coluna 1 é a coluna 'b', cujo valor é 5.
Portanto, a saída é 5. Nenhum erro de índice ocorre porque o DataFrame tem 5 linhas (índices 0 a 4), e o acesso à linha 2 é válido.
1Cria array estruturado
2Converte em DataFrame
3Ordena por coluna 'a'
4Acessa iloc[2,1]
5Saída: 5
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
O valor 1 corresponde à linha 1 (beta), não à linha 2.
Alternativa B — ❌ Incorreta
O valor 3 corresponde à linha 0 (alfa), não à linha 2.
Alternativa C — ✅ Correta ⟵ GABARITO
Conforme explicado, a saída é 5.
Alternativa D — ❌ Incorreta
O valor 7 corresponde à linha 3 (epsilon), não à linha 2.
Alternativa E — ❌ Incorreta
Não ocorre IndexError, pois o DataFrame tem 5 linhas e o acesso iloc[2,1] é perfeitamente válido.