Функция copy
Функция copy возвращает новый массив, являющийся полной копией исходного массива. Это означает, что изменения в скопированном массиве не повлияют на исходный, и наоборот. Функция особенно полезна, когда нужно безопасно модифицировать данные, не затрагивая оригинал. Первым параметром она принимает исходный массив. Вторым параметром можно указать порядок расположения данных в памяти ('C', 'F', 'A' или 'K').
Синтаксис
np.copy(arr, [order])
Пример
Создадим копию одномерного массива и изменим элемент в копии, чтобы убедиться, что исходный массив остался без изменений:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
arr_copy = np.copy(arr)
arr_copy[0] = 100
print("Original array:", arr)
print("Copied array:", arr_copy)
Результат выполнения кода:
Original array: [1 2 3 4 5]
Copied array: [100 2 3 4 5]
Пример
Используем функцию copy для создания независимой копии двумерного массива и изменим в ней строку:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr_copy = np.copy(arr)
arr_copy[1] = [10, 11, 12]
print("Original array:")
print(arr)
print("Copied array:")
print(arr_copy)
Результат выполнения кода:
Original array:
[[1 2 3]
[4 5 6]]
Copied array:
[[ 1 2 3]
[10 11 12]]
Пример
Создадим копию с изменением порядка расположения данных на Fortran-стиль (столбцовый порядок):
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr_copy = np.copy(arr, order='F')
print("Original array (C order):")
print(arr)
print("Copied array (F order):")
print(arr_copy)
print("Copied array flags:", arr_copy.flags['F_CONTIGUOUS'])
Результат выполнения кода:
Original array (C order):
[[1 2 3]
[4 5 6]]
Copied array (F order):
[[1 2 3]
[4 5 6]]
Copied array flags: True
Смотрите также
-
функцию
asarray,
которая преобразует входные данные в массив, по возможности избегая копирования -
функцию
array,
которая создает массив из списка, кортежа или другого массива -
функцию
empty_like,
которая создает пустой массив с той же формой и типом, что и у заданного -
функцию
zeros_like,
которая создает массив, заполненный нулями, с той же формой, что и у заданного