Copia profunda de NumPy
-
Copia profunda de NumPy con la función
copy.deepcopy()
en Python - Copia profunda de NumPy con el enfoque definido por el usuario en Python
Este tutorial presentará los métodos para realizar una copia profunda de un array NumPy en Python.
Copia profunda de NumPy con la función copy.deepcopy()
en Python
Python tiene dos tipos de copias, una copia superficial y una copia profunda. Una copia superficial significa que el array copiada contiene solo una referencia a el array original. Significa que cualquier cambio en el array original se reflejará dentro del array copiada. Por otro lado, una copia profunda significa copiar cada elemento del array original en el array copiada. En este tipo de copia, se asigna una nueva ubicación de memoria a cada elemento dentro del array copiada. Esto significa que cualquier cambio en el array original no cambiará nada dentro del array copiada.
La función deepcopy()
dentro del módulo copy
se utiliza para realizar copias en profundidad de listas, pero también funciona bien con matrices en Python. La función copy.deepcopy()
toma el array como argumento de entrada y devuelve una copia en profundidad del array. El siguiente ejemplo de código nos muestra cómo realizar una copia profunda de un array NumPy con la función copy.deepcopy()
en Python.
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)
Producción :
[2 2 3 4]
[1 2 3 4]
En el código anterior, copiamos en profundidad el array NumPy array
dentro de array2
con la función copy.deepcopy()
. Luego modificamos los elementos dentro de la array
. El resultado muestra que cambiar los valores dentro del array NumPy array
no tiene ningún efecto en el array NumPy array2
.
Copia profunda de NumPy con el enfoque definido por el usuario en Python
Otro método de copia profunda de un array NumPy es iterar a través de toda el array y copiar cada elemento dentro de ella. Vea el siguiente ejemplo de código.
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)
Producción :
[1 1 3 4]
[1 2 3 4]
En el código anterior, copiamos en profundidad el array NumPy array
dentro del array NumPy array2
iterando a través de cada elemento dentro de la array
. Luego modificamos los elementos dentro de la array
. El resultado muestra que cambiar los valores dentro del array NumPy array
no tiene ningún efecto en el array NumPy array2
.
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