A função numpy.reshape() está disponível no pacote NumPy. Como o nome sugere, remodelar significa “mudanças de forma”. A função numpy.reshape() nos ajuda a obter uma nova forma para um array sem alterar seus dados.
Às vezes, precisamos remodelar os dados de largos para longos. Portanto, nesta situação, temos que remodelar o array usando a função reshape().
Sintaxe
numpy.reshape(arr, new_shape, order='C')
Parâmetros
Existem os seguintes parâmetros da função reshape():
1) arr: array_like
Este é um ndarray. Este é o array de origem que queremos remodelar. Este parâmetro é essencial e desempenha um papel vital na função numpy.reshape().
variáveis globais javascript
2) new_shape: int ou tupla de ints
A forma na qual queremos converter nosso array original deve ser compatível com o array original. Se for um número inteiro, o resultado será uma matriz 1-D desse comprimento. Uma dimensão de forma pode ser -1. Aqui, o valor é aproximado pelo comprimento da matriz e pelas dimensões restantes.
3) ordem: {'C', 'F', 'A'}, opcional
O parâmetro de ordem desses índices desempenha um papel crucial na função reshape(). Essas ordens de índice são usadas para ler os elementos da matriz de origem e colocar os elementos na matriz remodelada usando esta ordem de índice.
- A ordem do índice 'C' significa ler/gravar os elementos que estão usando uma ordem de índice semelhante à C, onde o índice do último eixo muda mais rápido, de volta ao índice do primeiro eixo mudando mais lentamente.
- A ordem do índice 'F' significa ler/escrever os elementos que estão usando a ordem do índice do tipo Fortran, onde o índice do último eixo muda mais lentamente e o índice do primeiro eixo muda mais rápido.
- A ordem 'C' e 'F' não ocupa nenhuma quantidade do layout de memória da matriz subjacente e refere-se apenas à ordem de indexação.
- A ordem do índice 'A' significa ler/escrever os elementos na ordem do índice do tipo Fortran, quando arr é contíguo na memória, caso contrário, use a ordem do tipo C.
Devoluções
Esta função retorna um ndarray. É um novo objeto de visualização, se possível; caso contrário, será uma cópia. Não há garantia do layout da memória da matriz retornada.
Exemplo 1: ordenação de índice semelhante a C
import numpy as np x=np.arange(12) y=np.reshape(x, (4,3)) x y
Saída:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
No código acima
- Importamos numpy com o nome alternativo np.
- Criamos um array 'a' usando a função np.arrange().
- Declaramos a variável 'y' e atribuímos o valor retornado da função np.reshape().
- Passamos o array 'x' e a forma na função.
- Por último, tentamos imprimir o valor de arr.
Na saída, a matriz foi representada como três linhas e quatro colunas.
Exemplo 2: Equivalente a C ravel e depois C remodelar
import numpy as np x=np.arange(12) y=np.reshape(np.ravel(x),(3,4)) x y
A função ravel() é usada para criar um array achatado contíguo. Uma matriz unidimensional que contém os elementos da entrada é retornada. Uma cópia é feita somente quando necessária.
construtor de string java
Saída:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
Exemplo 3: ordenação de índice semelhante a Fortran
import numpy as np x=np.arange(12) y=np.reshape(x, (4, 3), order='F') x y
Saída:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]])
No código acima
- Importamos numpy com o nome alternativo np.
- Criamos um array 'a' usando a função np.arrange().
- Declaramos a variável 'y' e atribuímos o valor retornado da função np.reshape().
- Passamos o array 'x' e a forma e a ordem do índice do tipo Fortran na função.
- Por último, tentamos imprimir o valor de arr.
Na saída, a matriz foi representada como quatro linhas e três colunas.
Exemplo 4: ordenação de índice semelhante a Fortran
import numpy as np x=np.arange(12) y=np.reshape(np.ravel(x, order='F'), (4, 3), order='F') x y
Saída:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]])
Exemplo 5: O valor não especificado é inferido como 2
import numpy as np x=np.arange(12) y=np.reshape(x, (2, -1)) x y
No código acima
- Importamos numpy com o nome alternativo np.
- Criamos um array 'a' usando a função np.arrange().
- Declaramos a variável 'y' e atribuímos o valor retornado da função np.reshape().
- Passamos o array 'x' e a forma (valor não especificado) na função.
- Por último, tentamos imprimir o valor de arr.
Na saída, a matriz foi representada como duas linhas e cinco colunas.
Saída:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10, 11]])