Resumo : neste tutorial, você aprenderá como usar a reshape()
função numpy para alterar a forma de um array.
Introdução à função numpy reshape()
A forma de uma matriz armazena o número de dimensões (ou eixos) e o número de elementos em cada dimensão. A shape
propriedade retorna uma tupla que descreve a forma de uma matriz.
A
função altera a forma de um array sem alterar seus elementos. Aqui está a sintaxe da reshape()
função:reshape()
numpy.reshape(a, newshape, order='C')
Linguagem de código: Python ( python )
Nesta sintaxe, a reshape()
função altera a forma do array a
para mas newshape
mantém o mesmo número de elementos.
A
função é equivalente a chamar o reshape()
método no array a:reshape()
a.reshape(newshape, order='C')
Linguagem de código: Python ( python )
Exemplos de funções NumPy remodelar()
Vejamos alguns exemplos de uso da reshape()
função.
1) Usando a função numpy reshape() com exemplo de array 1-D
O exemplo a seguir usa a função numpy reshape()
para alterar um array 1-D com 4 elementos para um array 2-D:
import numpy as np
a = np.arange(1, 5)
print(a)
b = np.reshape(a, (2, 2))
print(b)
Linguagem de código: Python ( python )
Saída:
[1 2 3 4]
[[1 2]
[3 4]]
Linguagem de código: Python ( python )
Como funciona.
Primeiro, crie um array 1-D com quatro números de 1 a 4 usando a
função:arange()
a = np.arange(1, 5)
print(a)
Linguagem de código: Python ( python )
Em segundo lugar, altere a forma do array a para um array com duas dimensões, cada dimensão possui 2 elementos:
b = np.reshape(a, (2, 2))
print(b)
Linguagem de código: Python ( python )
2) Numpy reshape() retorna uma visualização
Observe que o array b é uma visão do array a. Isso significa que se você alterar um elemento do array b, a mudança será refletida no array a. Por exemplo:
import numpy as np
a = np.arange(1, 5)
b = np.reshape(a, (2, 2))
# change the element [0,0]
b[0, 0] = 0
print(b)
print(a)
Linguagem de código: Python ( python )
Saída:
[[0 2]
[3 4]]
[0 2 3 4]
Linguagem de código: Python ( python )
Neste exemplo, alteramos o elemento no índice [0,0] no array b. A mudança também se reflete na matriz a.
Resumo
- Use a função numpy
reshape()
para alterar a forma de um array sem alterar seus elementos. - Você pode alterar a forma de uma matriz, desde que o número de elementos seja o mesmo.