NumPy array kopi vs. visning
- Forrige side NumPy data types
- Næste side NumPy array shape
Forskellen mellem kopi og visning
Det vigtigste forskel mellem kopi og arrayview er, at kopi er et nyt array, mens denne visning kun er en visning af det oprindelige array.
Kopi har data, ændringer foretaget på kopi vil ikke påvirke det oprindelige array, og ændringer foretaget på det oprindelige array vil ikke påvirke kopi.
View har ikke data, enhver ændring, der foretages på view, påvirker det oprindelige array, og enhver ændring, der foretages på det oprindelige array, påvirker viewen.
Kopi:
Eksempel
Gør en kopi, ændr det oprindelige array og vis to arrayer:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() arr[0] = 61 print(arr) print(x)
Kopian bør ikke påvirkes af ændringer, der foretages på det oprindelige array.
View:
Eksempel
Opret en view, ændr det oprindelige array og vis to arrayer:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() arr[0] = 61 print(arr) print(x)
Viewen bør påvirkes af ændringer, der foretages på det oprindelige array.
Ændr i viewen:
Eksempel
Opret en view, ændr view og vis to arrayer:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() x[0] = 31 print(arr) print(x)
Det oprindelige array bør påvirkes af ændringer, der foretages på view.
Kontroller om arrayet har data
Som nævnt tidligere har kopian data, mens view ikke har data, men hvordan kontrollerer vi det?
Hvert NumPy-array har en egenskab base
hvis arrayet har data, returnerer denne base-attribut Ingen
.
Ellerbase
Egenskaberne vil referere til det oprindelige objekt.
Eksempel
Print værdien af base-attributten for at kontrollere om arrayet har egne data:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() y = arr.view() print(x.base) print(y.base)
Kopi returnerer Ingen
.
Vis returneret array
- Forrige side NumPy data types
- Næste side NumPy array shape