Questão FC331213
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 pand
Linguagens de Programação
FGV · 2025
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
- 1
- 3
- 5
- 7
- um aviso da ocorrência de IndexError.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
O código cria um array estruturado do NumPy com dtype ('a','U10') (strings) e ('b','i4') (inteiros) e em seguida o transforma em um DataFrame do pandas. Assim, coluna a contém nomes e coluna b contém números.
O comando z = y.sort_values(by="a") ordena as linhas alfabeticamente pela coluna a, produzindo a sequência: alfa, beta, delta, epsilon, gama.
O acesso z.iloc[2,1] usa indexação posicional (iloc) e índices de posição começam em \(0\). Portanto, linha index 2 é a terceira linha (nome delta) e coluna 1 é a segunda coluna (campo b), cujo valor é 5. Logo, o print exibe 5.
Conteúdo do catálogo FC Concursos · Atualizado em