Questão nº 43

Questão de Tecnologia da Informação · FGV CVM 2024 (nº 43)

FGV2024Analista CVM - Ciência de Dados (Perfil 7)Tecnologia da Informação
Gabarito: Cver comentário ↓

Durante a preparação de dados para análise, alterar a quantidade de dimensões e/ou elementos de cada dimensão de um dado do tipo Array é uma operação importante na manipulação de dados. Observe o seguinte trecho de código escrito na linguagem de programação Python:

```python
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
newarr = arr.reshape(2, 3, 2)
print(newarr)
```

O resultado da execução do código apresentado é:

Resposta comentada

Gabarito Alternativa C

O método reshape() do NumPy reorganiza os elementos de um array em uma nova forma (número de dimensões e tamanho de cada dimensão), sem alterar os dados ou a ordem original dos elementos. É como pegar uma fila de números e organizá-los em uma nova "caixa" com as dimensões especificadas. O número total de elementos deve ser o mesmo na forma original e na nova forma.

  • (A) Incorreta: Esta alternativa representa um array 2D com 4 linhas e 3 colunas ((4, 3)). A operação reshape(2, 3, 2) cria um array 3D.
  • (B) Incorreta: Esta alternativa representa um array 2D com 3 linhas e 4 colunas ((3, 4)). A operação reshape(2, 3, 2) cria um array 3D.
  • (C) Correta: O reshape(2, 3, 2) significa que o array terá 2 "blocos" (primeira dimensão), cada bloco terá 3 "linhas" (segunda dimensão), e cada linha terá 2 "colunas" (terceira dimensão). Os elementos são preenchidos sequencialmente do array original:
    • Primeiro bloco:
      • Primeira linha: [1, 2]
      • Segunda linha: [3, 4]
      • Terceira linha: [5, 6]
    • Segundo bloco:
      • Primeira linha: [7, 8]
      • Segunda linha: [9, 10]
      • Terceira linha: [11, 12]
        Isso resulta na estrutura [[[ 1 2], [ 3 4], [ 5 6]], [[ 7 8], [ 9 10], [11 12]]].
  • (D) Incorreta: Esta alternativa representa um array 2D com 2 linhas e 6 colunas ((2, 6)). A operação reshape(2, 3, 2) cria um array 3D.
  • (E) Incorreta: Esta alternativa representa um array 3D com a forma (2, 2, 3), ou seja, 2 blocos, cada um com 2 linhas e 3 colunas. A ordem das dimensões é crucial no reshape. A banca tenta confundir a ordem dos últimos dois parâmetros (3, 2 vs 2, 3). Se a operação fosse arr.reshape(2, 2, 3), o resultado seria este.

Fonte: FGV CVM 2024 Analista CVM - Ciência de Dados (Perfil 7) (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho