Копирование массива Numpy в Python

Вы можете скопировать массив 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.

Отмечено:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *