Copie de tableau NumPy vs Vue
- Page précédente Types de données NumPy
- Page suivante Forme de tableau NumPy
La différence entre la copie et la vue
La principale différence entre la copie et la vue de tableau est que la copie est un nouveau tableau, tandis que cette vue n'est qu'une vue de l'original.
La copie possède des données, toute modification apportée à la copie n'affectera pas l'original, et toute modification apportée à l'original n'affectera pas la copie.
La vue ne possède pas de données, toute modification apportée à la vue affecte l'array original, et toute modification apportée à l'array original affecte la vue.
Copie :
Exemple
Faire une copie, modifier l'array original et afficher deux arrays :
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() arr[0] = 61 print(arr) print(x)
La copie ne devrait pas être affectée par les modifications apportées à l'array original.
Vue :
Exemple
Créer une vue, modifier l'array original puis afficher deux arrays :
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() arr[0] = 61 print(arr) print(x)
La vue devrait être affectée par les modifications apportées à l'array original.
Modifier dans la vue :
Exemple
Créer une vue, modifier la vue et afficher deux arrays :
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() x[0] = 31 print(arr) print(x)
L'array original devrait être affecté par les modifications apportées à la vue.
Vérifier si l'array possède des données
Comme mentionné précédemment, la copie possède des données, tandis que la vue ne possède pas de données, mais comment pouvons-nous vérifier ?
Chaque array NumPy possède une propriété base
,si l'array possède des données, cette propriété base retourne None
.
Sinon,base
L'attribut va référencer l'objet original.
Exemple
Imprimer la valeur de l'attribut base pour vérifier si l'array possède ses propres données :
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() y = arr.view() print(x.base) print(y.base)
Copie de retour None
.
Voir le tableau original
- Page précédente Types de données NumPy
- Page suivante Forme de tableau NumPy