Um programa em Python contém um vetor unidimensional, de tam...
Para tal fim, a expressão a ser utilizada é
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a C - np.reshape(vetor, (4, 5))
.
Essa questão aborda o uso da biblioteca Numpy, que é uma biblioteca muito utilizada em Python para computação científica e manipulação de arrays multidimensionais. Ter familiaridade com o Numpy é fundamental para resolver essa questão, pois ela testa o conhecimento sobre como transformar um vetor unidimensional em uma matriz bidimensional.
Para entender a resposta correta, é importante saber que a função reshape
do Numpy é utilizada para alterar a forma de um array sem alterar seus dados. Portanto, ao usar np.reshape(vetor, (4, 5))
, estamos instruindo o Numpy a tomar o array unidimensional vetor
e reorganizá-lo em uma nova forma de matriz com 4 linhas e 5 colunas. Isso é feito 'linha a linha', preenchendo a matriz com os elementos do vetor conforme eles aparecem na sequência original.
A resposta está correta porque:
- O método
reshape
é chamado corretamente como uma função do Numpy, passando o array original como primeiro argumento. - O segundo argumento da função
reshape
é uma tupla que define a nova forma do array. Neste caso,(4, 5)
significa 4 linhas e 5 colunas.
Com isso, a expressão np.reshape(vetor, (4, 5))
resulta exatamente na transformação desejada, de um vetor unidimensional de tamanho 20 em uma matriz de 4 linhas e 5 colunas.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A resposta correta é a opção C: .
A função fazer o Numpy é usada para reorganizar os elementos de um array em uma nova forma, e ela é apropriada para criar uma matriz de 4 linhas e 5 colunas a partir de um vetor unidimensional.
Portanto, a resposta correta é:
C -
A np.split(vetor, 4)
split cria sub vetores. Nesse caso estariamos criando 5 vetores de tamanho igual. Pois 20/4 = 5.
B vetor.reshape(5, 4)
Se fosse vetor.reshape(4,5) estaria correta
C np.reshape(vetor, (4, 5))
Essa é a alternativa! esse reshape está diferente porque é uma função, diferente da de cima que é um método. Fazem a exata mesma coisa, mas diferem nos argumentos.
D vetor.transpose(4, 5)
Matriz transposta inverte a linha para coluna e a coluna para linha. Nesse caso temos uma vetor de tamanho 20 unidimensional, então a chamado do método com esses argumentos 4,5 dará um erro
E np.array(vetor, shape=(4, 5))
Sintaxe errada. E shape só retorna o formato não altera nada.
Na verdade, o termo "np" normalmente é como de forma carinhosa é renomeada a biblioteca Numpy na hora de importar.
O programador não necessariamente precisa chamar de "np", pode renomear como bem entender. A questão em nenhum momento afirma que foi importada dessa forma.
Pra quem já tem experiência, conseguiria acertar tranquilamente, mas acredito que caberia recurso por esse motivo.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo