Вы можете скопировать массив numpy в другой. Копирование массива означает, что создается новый экземпляр, и содержимое исходного массива копируется в этот массив.
Чтобы скопировать данные массива в другой с помощью библиотеки Numpy в Python, вы можете использовать функцию numpy.ndarray.copy().
Синтаксис
Ниже приведен синтаксис для копирования массива numpy в другой массив.
array2 = array1.copy()
Где, array1 – n-мерный массив. array1.copy() возвращает новый массив, но с точными значениями элементов, как у array1.
Пример 1
В следующем примере мы скопируем элементы массива a в другой массив b.
import numpy as np
# create a numpy array
a = np.array([[8, 2, 3],
[4, 7, 6]])
# copy contents of a to b
b = a.copy()
# modify a
a[1, 2] = 13
# check if b has remained the same
print('a\n',a)
print('\nb\n',b)
Вывод:
a [[ 8 2 3] [ 4 7 13]] b [[8 2 3] [4 7 6]]
Даже если мы изменили содержимое a, это не повлияет на содержимое b.
Пример 2: если мы воспользуемся оператором присваивания
Этот пример объясняет, почему вы должны использовать функцию copy() вместо оператора присваивания, когда вам нужно создать дубликат массива.
import numpy as np
# create a numpy array
a = np.array([[8, 2, 3],
[4, 7, 6]])
# assign a to b
b = a
# modify a
a[1, 2] = 13
# check if b has remained the same
print('a\n',a)
print('\nb\n',b)
Вывод:
a [[ 8 2 3] [ 4 7 13]] b [[ 8 2 3] [ 4 7 13]]
b действует как простая ссылка на a, и когда вы меняете a, изменяется и b. Следовательно, использование оператора присваивания – это не способ дублировать или копировать массив numpy.