Questão nº 47
Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 47)
FGV2024Analista Judiciário - Análise de DadosTecnologia da Informação
Gabarito: Cver comentário ↓
Considere o seguinte código em Python com NumPy:
import numpy as np
a = np.arange(16).reshape(8,2).T
print(a.shape, a.ndim, a[0][1])
Ao ser executado, o código acima imprime na saída padrão:
- A(2, 2) 2 1
- B(2, 2) 8 2
- C(2, 8) 2 2 (alternativa correta)
- D(2, 8) 8 2
- E(8, 2) 2 8
Resposta comentada
Gabarito Alternativa C
NumPy permite criar e manipular arrays (matrizes e vetores) de forma eficiente. A função arange cria um array com uma sequência de números, reshape altera suas dimensões (linhas e colunas), e .T (transpose) inverte as linhas e colunas de um array.
- (A) Incorreta: A forma final do array não é
(2, 2), e o valor acessadoa[0][1]não é1. - (B) Incorreta: A forma final do array não é
(2, 2), e o número de dimensões (ndim) não é8. - (C) Correta:
np.arange(16)cria um array 1D:[0, 1, 2, ..., 15]..reshape(8,2)transforma-o em um array 2D de 8 linhas e 2 colunas:
[[ 0, 1],
[ 2, 3],
...,
[14, 15]].T(transpose) inverte as dimensões, resultando em um array 2D de 2 linhas e 8 colunas:
[[ 0, 2, 4, 6, 8, 10, 12, 14],
[ 1, 3, 5, 7, 9, 11, 13, 15]]
Portanto,a.shapeé(2, 8)ea.ndimé2. O elementoa[0][1](primeira linha, segunda coluna) é2.
- (D) Incorreta: O número de dimensões (
ndim) do array é2, não8. - (E) Incorreta: A forma
(8, 2)seria a do array antes da transposição (.T). Esta é a armadilha da banca, pois o aluno pode esquecer ou ignorar o efeito do.T. Se o.Tfosse ignorado,a.shapeseria(8,2), masa[0][1]ainda seria1, não8.
Fonte: FGV TRF1 2024 Analista Judiciário - Análise de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.