NumPy-arraykopia vs vy
- Föregående sida NumPy datatyper
- Nästa sida NumPy array form
Skillnaden mellan kopia och vy
Det huvudsakliga skillnaden mellan kopian och arrayvy är att kopian är en ny array, medan denna vy bara är en vy av den ursprungliga arrayen.
Kopian har data, alla ändringar som görs på kopian påverkar inte den ursprungliga arrayen, och alla ändringar som görs på den ursprungliga arrayen påverkar inte kopian.
Vyn har inte data, alla ändringar som görs på vyn påverkar den ursprungliga arrayen, och alla ändringar som görs på den ursprungliga arrayen påverkar vyn.
Kopia:
Exempel
Gör en kopia, ändra den ursprungliga arrayen och visa två arrayer:
import numpy som np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() arr[0] = 61 print(arr) print(x)
Kopian bör inte påverkas av ändringar som görs på den ursprungliga arrayen.
Vy:
Exempel
Skapa en vy, ändra den ursprungliga arrayen och visa två arrayer:
import numpy som np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() arr[0] = 61 print(arr) print(x)
Vyn bör påverkas av ändringar som görs på den ursprungliga arrayen.
Gör ändringar i vyn:
Exempel
Skapa en vy, ändra vyn och visa två arrayer:
import numpy som np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() x[0] = 31 print(arr) print(x)
Den ursprungliga arrayen bör påverkas av ändringar som görs på vyn.
Kontrollera om arrayen har data
Som nämnts tidigare har kopian data medan vyn inte har data, men hur kontrollerar vi det?
Varje NumPy-array har ett attribut base
om arrayen har data, returnerar denna base-attribut Ingen
.
Annars,base
Attribut kommer att referera till ursprungliga objektet.
Exempel
Skriv ut värdet av base-attributet för att kontrollera om arrayen har sitt eget data:
import numpy som np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() y = arr.view() print(x.base) print(y.base)
Kopia returneras Ingen
.
Visa åter till ursprunglig array.
- Föregående sida NumPy datatyper
- Nästa sida NumPy array form