Função “reshape”

A função reshape() no NumPy é usada para alterar a forma (ou dimensões) de um array multidimensional sem modificar seus dados. Ela permite reorganizar os elementos de um array em uma nova estrutura, especificando as dimensões desejadas. A função reshape() é muito útil quando você precisa ajustar a forma de um array para que ele corresponda aos requisitos de uma operação ou algoritmo específico.

Sintaxe

numpy.reshape(array, newshape, order='C')

Parâmetros

  • array: O array que você deseja remodelar.

  • newshape: A nova forma desejada para o array, especificada como uma tupla de inteiros. Cada valor na tupla representa o tamanho da dimensão correspondente.

  • order (opcional): A ordem em que os elementos serão lidos. Pode ser ‘C’ (ordem padrão da linguagem C) ou ‘F’ (ordem Fortran, que lê os elementos por coluna).

Retorno

  • Retorna um novo array com a forma especificada, mantendo os dados do array original.

Exemplo

import numpy as np
 
# Criando um array unidimensional
arr = np.array([1, 2, 3, 4, 5, 6])
 
# Usando reshape para transformá-lo em um array 2D (matriz)
reshaped = np.reshape(arr, (2, 3))
 
print(reshaped)

Neste exemplo, o array unidimensional arr é remodelado usando np.reshape() para criar um novo array com a forma (2, 3). O resultado será uma matriz 2x3:

[[1 2 3]
 [4 5 6]]

Você pode alterar a forma do array para qualquer dimensão desejada, desde que o número total de elementos no array original seja compatível com a nova forma. Por exemplo, no caso acima, o array original tinha 6 elementos, que é igual ao produto de 2 e 3, permitindo a remodelação para uma matriz 2x3.

Conclusão

A função reshape() é extremamente útil em tarefas de processamento de dados, como manipulação de imagens, séries temporais e muito mais, onde a reorganização de dados é comum para fins de análise ou modelagem.