NumPy Deep Copy
-
NumPy Deep Copy mit der Funktion
copy.deepcopy()
in Python - NumPy Deep Copy mit dem benutzerdefinierten Ansatz in Python
In diesem Tutorial werden die Methoden zum tiefen Kopieren eines NumPy-Arrays in Python vorgestellt.
NumPy Deep Copy mit der Funktion copy.deepcopy()
in Python
Python hat zwei Arten von Kopien, eine flache Kopie und eine tiefe Kopie. Eine flache Kopie bedeutet, dass das kopierte Array nur einen Verweis auf das ursprüngliche Array enthält. Dies bedeutet, dass jede Änderung im ursprünglichen Array innerhalb des kopierten Arrays widergespiegelt wird. Andererseits bedeutet eine tiefe Kopie, dass jedes Element des ursprünglichen Arrays in das kopierte Array kopiert wird. Bei dieser Art des Kopierens wird jedem Element innerhalb des kopierten Arrays ein neuer Speicherplatz zugewiesen. Dies bedeutet, dass jede Änderung im ursprünglichen Array nichts innerhalb des kopierten Arrays ändert.
Die deepcopy()
-Funktion innerhalb des copy
-Moduls wird verwendet, um Listen zu kopieren, funktioniert aber auch gut mit Arrays in Python. Die Funktion copy.deepcopy()
nimmt das Array als Eingabeargument und gibt eine tiefe Kopie des Arrays zurück. Das folgende Codebeispiel zeigt uns, wie man ein NumPy-Array mit der Funktion copy.deepcopy()
in Python tief kopiert.
import numpy as np
import copy
array = np.array([1, 2, 3, 4])
array2 = copy.deepcopy(array)
array[0] = array[0] + 1
print(array)
print(array2)
Ausgabe:
[2 2 3 4]
[1 2 3 4]
Im obigen Code haben wir das NumPy-Array array
in das array2
mit der Funktion copy.deepcopy()
tief kopiert. Wir haben dann die Elemente innerhalb des Arrays
modifiziert. Die Ausgabe zeigt, dass das Ändern der Werte innerhalb des NumPy-Arrays array
keine Auswirkung auf das NumPy-Array array2
hat.
NumPy Deep Copy mit dem benutzerdefinierten Ansatz in Python
Eine andere Methode zum tiefen Kopieren eines NumPy-Arrays besteht darin, das gesamte Array zu durchlaufen und jedes Element darin zu kopieren. Siehe das folgende Codebeispiel.
import numpy as np
array = np.array([1, 2, 3, 4])
array2 = np.array([x for x in array])
array[1] = 1
print(array)
print(array2)
Ausgabe:
[1 1 3 4]
[1 2 3 4]
Im obigen Code haben wir das NumPy-Array array
tief in das NumPy-Array array2
kopiert, indem wir jedes Element innerhalb des Arrays
durchlaufen haben. Wir haben dann die Elemente innerhalb des Arrays
modifiziert. Die Ausgabe zeigt, dass das Ändern der Werte innerhalb des NumPy-Arrays array
keine Auswirkung auf das NumPy-Array array2
hat.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn