Cópia de array NumPy vs. vista
- Página Anterior Tipos de dados NumPy
- Próxima Página Forma do array NumPy
A diferença entre a cópia e a vista
A principal diferença entre a cópia e a vista do array está na cópia ser um novo array, enquanto essa vista é apenas uma vista do array original.
A cópia possui dados, qualquer alteração feita na cópia não afetará o array original, e qualquer alteração feita no array original também não afetará a cópia.
A vista não possui dados, qualquer alteração feita na vista afetará o array original, enquanto qualquer alteração feita no array original afetará a vista.
Cópia:
Exemplo
Fazer a cópia, alterar o array original e então exibir os dois arrays:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() arr[0] = 61 print(arr) print(x)
A cópia não deve ser afetada pelas alterações feitas no array original.
Vista:
Exemplo
Criar uma vista, alterar o array original e então exibir os dois arrays:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() arr[0] = 61 print(arr) print(x)
A vista deve ser afetada pelas alterações feitas no array original.
Alterações na vista:
Exemplo
Criar uma vista, alterar a vista e exibir os dois arrays:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() x[0] = 31 print(arr) print(x)
O array original deve ser afetado pelas alterações feitas na vista.
Verificar se o array possui dados
Como mencionado anteriormente, a cópia possui dados enquanto a vista não possui, mas como podemos verificar isso?
Cada array NumPy possui uma propriedade base
se o array possuir dados, a propriedade base retornará Nenhum
.
Caso contrário,base
A propriedade referenciará o objeto original.
Exemplo
Imprimir o valor da propriedade base para verificar se o array possui seus próprios dados:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() y = arr.view() print(x.base) print(y.base)
Cópia Retornada Nenhum
.
Visualizar Retornar ao Array Original
- Página Anterior Tipos de dados NumPy
- Próxima Página Forma do array NumPy