Array di copia vs vista di NumPy
- Pagina Precedente Tipo di dati NumPy
- Pagina Successiva Forma dell'array NumPy
La differenza tra la copia e la vista
La principale differenza tra la copia e la vista dell'array è che la copia è un nuovo array, mentre la vista è solo una vista dell'array originale.
La copia possiede i dati, qualsiasi modifica apportata alla copia non influisce sull'array originale, e qualsiasi modifica apportata all'array originale non influisce sulla copia.
La vista non possiede dati, qualsiasi modifica apportata alla vista influenzerà l'array originale, mentre qualsiasi modifica apportata all'array originale influenzerà la vista.
Copia:
Esempio
Effettuare una copia, modificare l'array originale e quindi visualizzare due array:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() arr[0] = 61 print(arr) print(x)
La copia non dovrebbe essere influenzata dalle modifiche apportate all'array originale.
Vista:
Esempio
Creare una vista, modificare l'array originale e quindi visualizzare due array:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() arr[0] = 61 print(arr) print(x)
La vista dovrebbe essere influenzata dalle modifiche apportate all'array originale.
Modifiche nella vista:
Esempio
Creare una vista, modificare la vista e visualizzare due array:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() x[0] = 31 print(arr) print(x)
L'array originale dovrebbe essere influenzato dalle modifiche apportate alla vista.
Verificare se l'array ha dati
Come descritto, la copia ha dati mentre la vista non ha dati, ma come possiamo verificare?
Ogni array NumPy ha un attributo base
se l'array ha dati, l'attributo base restituisce None
.
Altrimenti,base
L'attributo riferirà all'oggetto originale.
Esempio
Stampare il valore dell'attributo base per verificare se l'array ha i propri dati:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() y = arr.view() print(x.base) print(y.base)
Restituzione di una copia None
.
Visualizza il vettore originale.
- Pagina Precedente Tipo di dati NumPy
- Pagina Successiva Forma dell'array NumPy